uva 305 Joseph
2013-05-13 20:38
381 查看
需要注意的是:必须先将15以前的都计算好,然后直接输出,如果输入一次计算一次就会TLE。(uva上测试数据不超过15,所以计算15以前就AC了)
#include<iostream> #include<cstring> using namespace std; bool joseph(int k,int m) { int i,a=(m-1)%(2*k),n=2*k; for(i=1; i<k; ++i) { a=(a+m-1)%(n-i); if(a<k)return false; } return true; } int main() { int k,m,num[20]; for(k=1; k<15; ++k) { int i,j,flag=0; for(i=0;; ++i) { for(j=k; j<2*k; ++j) { m=2*k*i+j+1; if(joseph(k,m)) { flag=1; break; } } if(flag)break; } num[k]=m; } while(cin>>k) { if(k==0) break; cout<<num[k]<<endl; } return 0; }
相关文章推荐
- uva 305 - Joseph(暴力)
- UVALive5520 UVA305 POJ1012 HDU1443 Joseph【数学计算+打表+水题】
- UVa 305 / POJ 1012 Joseph (如何得到约瑟夫环的下一个位置?)
- Uva 305 - Joseph
- UVA305 - Joseph(数论 + 打表)
- Joseph - acm.uva.305(约瑟夫环)
- uva 305 Joseph(约瑟夫环解+打表)
- UVA 305 Joseph (约瑟夫环 打表)
- UVA 305 - Joseph(模拟)
- UVA305 - Joseph(数论 + 打表)
- uva 305 Joseph
- uva 305 Joseph
- UVA 305 Joseph
- Uva305——Joseph
- UVa 305 - Joseph
- UVA, 305 Joseph
- 约瑟夫循环问题uva305 Joseph
- UVA 305 Joseph (约瑟夫环 打表)
- uva305 - Joseph 约瑟夫问题变形
- Uva 305 Joseph(数学+打表)