tey zzj 约瑟夫问题
时间:2024-05-18 15:34
作者:admin
点击:次
/*约瑟夫环确定队列的长度N通过M进行淘汰时,淘汰-出队,没淘汰-先出队,再入队*/#include iostream#include queueusing namespace std;queueint q;//创建一个约瑟夫队列int main(){ int N=6,M=5; for(int i=1;i=
/*约瑟夫环
确定队列的长度N
通过M进行淘汰时,淘汰->出队,没淘汰->先出队,再入队
*/
#include <iostream>
#include <queue>
using namespace std;
queue<int> q;//创建一个约瑟夫队列
int main(){
int N=6,M=5;
for(int i=1;i<=N;i++){
q.push(i);
}
int c=1;
while(q.size()!=1){
if(c==M){
cout<<q.front()<<" ";
q.pop();
c=1;
}
else{
q.push(q.front());
q.pop();
c++;
}
}
return 0;
}
//单词: queue 队列
(责任编辑:admin) |