文章
17
粉丝
82
获赞
30
访问
19.2k
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin >> n >> k; // 输入 n 和 k
vector<bool> st(n + 1, false); // 标记是否被淘汰
int ans = 0; // 计数器,用于模拟报数
int count = 0; // 记录被淘汰的人数
int i = 1; // 当前报数的人
int c=10001;
// 模拟过程
while (count<n-1) {
if(!st[i])ans++; // 报数
if (!st[i] && ans==k) { // 如果报数是 k 的倍数且未被淘汰
st[i] = true; // 标记为淘汰
count++; // 淘汰人数加 1
ans=0;
// cout << "淘汰: " << i << endl; // 输出淘汰的人
}
i++; // 下一个人
if (i == n + 1) i = 1; // 如果超过 n,回到第一个人
}
// 输出最后剩下的人
for (int i = 1; i <= n; i++) {
if (!st[i]) {
// cout << "最后剩下的人: " << i << endl;
cout<<i<<endl;
break;
}
}
// cout<<c<<endl;
// cout<<count<<endl;
retur...
登录后发布评论
暂无评论,来抢沙发