思路:用队列实现,模拟出局过程。
代码实现:
#include<iostream>
#include<queue>
using namespace std;
queue<int> q;
int main(){
int n,k;
cin>>n>>k;
for(int i = 1; i <= n; i++){
q.push(i);
}
int num = 1;
while(q.size() > 1){
int tmp = q.front();
q.pop();
if(num % k == 0 || num % 10 == k){
}
else{
q.push(tmp);
}
num++;
}
cout<<q.front();
return 0;
}
本文介绍了一种使用队列数据结构来模拟游戏出局过程的方法。通过C++代码实现,玩家按顺序编号并加入队列,当轮到某玩家时,检查其是否满足出局条件(编号为k的倍数或末位数等于k)。若不满足,则重新入队。最后,队列中剩下的玩家即为胜者。
211

被折叠的 条评论
为什么被折叠?



