int main() {
int n = 0, m = 0, loc = 0;
cout << "请输入总人数:";
cin >> n;
cout << "请输入报到哪个数字的人出局:";
cin >> m;
vector p(n, 1);
for (int d = 0;d != n - 1;++d) {
for (int k = 1;k != m;++loc) {
if (loc > n)
loc = 0;
if (p[loc]!=0)
++k;
}
cout << "第" << d + 1 << "次死亡的是" << loc + 1 << "位玩家" << endl;
p[loc] = 0;
}
int f = 0;
for (;p[f] != 1;f++){}
cout << "最后活下来的是第" << f << "位玩家";
system("pause");
return 0;
}
调试看看下面两行是否越界了
p[loc] = 0;
for (;p[f] != 1;f++){}