| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
果然需要暴力破解呢#include<iostream>
//#include<fstream>
using namespace std;
//ofstream fout ("supervisor.log");
int joseph[14];
/*
void process(){
bool killed[28];
for (int i=1;i<14;++i){
fout<<"i "<<i<<endl;
int loop=1;
while (1){
fout<<"loop "<<loop<<endl;
memset(killed,false,sizeof(killed));
int pointer=-1;
bool flag=true;
for (int j=0;j<i;++j){
for (int k=0;k<loop;++k){
++pointer;
if (pointer==2*i) pointer=0;
while (killed[pointer]){
++pointer;
if (pointer==2*i) pointer=0;
}
}
fout<<j+1<<" "<<pointer<<" Killed"<<endl;
if (pointer<i){
flag=false;
break;
}
killed[pointer]=true;
}
if (flag) break;
fout<<"WA"<<endl;
++loop;
}
joseph[i]=loop;
fout<<i<<" "<<loop<<endl;
}
}
*/
void process(){
for (int i=1;i<14;++i){
int loop=0,length,point;
bool flag=false,infer;
while (!flag){
++loop;
length=i*2;
infer=true;
point=-1;
// fout<<i<<" "<<loop<<endl;
for (int j=0;j<i;++j){
point=(point+loop)%length;
if (point<i){
infer=false;
break;
}
// fout<<point<<endl;
--point;
--length;
}
if (infer) flag=true;
}
joseph[i]=loop;
}
}
int main (void){
process();
int k;
cin>>k;
while (k!=0){
cout<<joseph[k]<<endl;
cin>>k;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator