游戏规则为:总共有2 * k个人报数,前面k个是好人,后面k个是坏人,从第一个好人开始报数,报道m的人要死去。然后从死人的下一个活人继续从头开始报数,报道m的人死去,以此类推。当k = 12时,问m为何值时,坏人全部死去之前不会有好人死去。(来自实验吧)
程序如下:
#include <iostream>
using namespace std;
const int P = 24;
int per[24];
void init(){ //游戏参与者初始化
for(int i = 0; i < 24; i++){
per[i] = 1;
}
}
//算法测试检验
void print(){
for(int i = 0; i < 24; i++){
cout << i << "|" << per[i] << " ";
if(i%6 == 0 && i != 0){
cout << endl;
}
}
}
bool getP(int N, int start,int livers){
if(livers < 13){
return true;
}
//该处代码省略
int index = start;