解法一、陣列
🔹 紀錄每個人殺的對象
用 v[i] 紀錄編號 i 要殺的目標
當要殺的人不存在時,v[i] 設為 -1
當編號 i 死了,他沒辦法殺其他人,也將 v[i] 設為 -1
✅ 完整代碼
評分結果(參考) : AC (0.3s, 4.1MB)
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m, k;
cin >> n >> m;
vector<int> v(n+1);
v[n] = -1;
for(int i=1; i<n; i++){
v[i] = i+1;
}
while(m-- > 0){
cin >> k;
if(v[k] < 0){
cout << "0u0 ...... ?\n";
}
else{
cout << v[k] << "\n";
int temp = v[k];
v[k] = v[temp];
v[temp] = -1;
}
}
return 0;
}