1 条题解
-
0
自动搬运
来自洛谷,原作者为

Ambtion
**搬运于
2025-08-24 21:25:25,当前版本为作者最后更新于2018-05-30 17:01:46,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
千万要记住while(1) 不要while(n)
不然会t的
暴力+剪枝
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; int b[200],l,visit[200],a[200]; int zhuan(int x) { int t=0; while(x>0) { b[++t]=x%10; x/=10; } for(int i=1;i<=t;++i)a[i]=b[t-i+1];//逆序存进去 return t;//长度 } bool you() { int t=1;//开始的位置 memset(visit,0,sizeof visit);//每一次都memset一遍 for(int i=1;i<=l;++i) { if(visit[a[t]]||a[t]==0)return 0;//走过就会有环;零也不行; visit[a[t]]++;//走过了; t=(t+a[t])%l;//走到下一位上; if(t==0)t=l;//最后一个就是l; } if(t!=1)return 0;//没走到原来的辣个位置当然就"挂了"; return 1; } int main() { int ok; scanf("%d",&ok); while(233) { ok++; l=zhuan(ok); if(you()) { printf("%d",ok); return 0; } } return 0; }
- 1
信息
- ID
- 461
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者