本文共 914 字,大约阅读时间需要 3 分钟。
开始的时候认为数据太大,直接模拟会超时,但其实还是可以直接模拟的,原因在于这种Runaround Numbers分布还比较稠密。另外要注意读题.
代码如下:
/*ID:15674811LANG:C++PROG:runround*/#include#include #include #include using namespace std;int conut(int *vis,int cnt){ int tmp=0; for(int i=0;i =2) return false; int cur=0; cnt=0; memset(vis,0,sizeof(vis)); vis[0]=1; while(true) { int t=(cur+a[cur])%m; if((conut(vis,m)==m)&&(t==0)) return true; if(vis[t]) return false; if(conut(vis,m)>=m) return false; vis[t]=1; cur=t; }}int main(){ ofstream fout("runround.out"); ifstream fin("runround.in"); //ifstream fin("lkl.txt"); long long n; while(fin>>n) { n++; while(true) { if(check(n)) break; n++; } fout< <
转载地址:http://kurfb.baihongyu.com/