2011年4月2日

poj 2244

摘要: 枚举+递推。代码:#include<iostream>#include<fstream>using namespace std;void read(){// ifstream cin("in.txt"); int i,j,k,n,s; while(cin>>n){ if(n==0) return ; for(i=1;;i++) { s=0; for(j=2;j<n;j++) s=(s+i)%j; if(s==0) { cout<<i<<endl; break; } } }}int main(){ read() 阅读全文

posted @ 2011-04-02 21:03 宇宙吾心 阅读(186) 评论(0) 推荐(0)

poj 1012

摘要: 约瑟夫环。1.由于好人和坏人的排放是连续的,可以(把坏人看作一个整体)直接计算每次要杀的人的编号,若是好人,则杀错了,则继续找;若是坏人,则把该坏人剔除(无须操作),将joseph环的长度减一,而好人的编号是不变的,所以可以继续计算下一个人要杀的人的编号,直到把坏人都杀光,这种情况对应的结果就是我们想要的。2.检测数据必须是k+1倍数或者k+1的倍数+1代码:#include<iostream>#include<fstream>using namespace std;int f[20];void read(){// ifstream cin("in.txt&q 阅读全文

posted @ 2011-04-02 20:46 宇宙吾心 阅读(373) 评论(0) 推荐(0)

poj 3517

摘要: 约瑟夫环。代码:#include <iostream>#include<fstream>using namespace std;int main(){// ifstream cin("in.txt"); int n,k,m,x; while(cin>>n>>k>>m) { if(n==0) return 0; x=0; for(int i=2;i<n;++i) x=(x+k)%i; x=(x+m)%n; printf("%d\n",x+1); } return 0;} 阅读全文

posted @ 2011-04-02 14:46 宇宙吾心 阅读(237) 评论(0) 推荐(0)

导航