1418:猴子选大王
时间:2024-05-18 15:58
作者:admin
点击:次
#include iostream#include queueusing namespace std;queueint q;//创建一个约瑟夫队列int main(){ int N,M[1000005]={0}; cinN; for(int i=1;i=N;i++) cinM[i];//死亡数字 for(int i=1;i=N;i++) q.push(i);//猴子编号 int c=1,X=M[q.front
#include <iostream>
#include <queue>
using namespace std;
queue<int> q;//创建一个约瑟夫队列
int main(){
int N,M[1000005]={0};
cin>>N;
for(int i=1;i<=N;i++) cin>>M[i];//死亡数字
for(int i=1;i<=N;i++) q.push(i);//猴子编号
int c=1,X=M[q.front()];
while(q.size()!=1){
if(c==X){
q.pop();
c=1;
X=M[q.front()];
}
else{
q.push(q.front());
q.pop();
c++;
}
}
cout<<q.front();
return 0;
}
(责任编辑:admin) |