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