uva 10624 Super Number 回溯
来源:互联网 发布:网络购物的优点 编辑:程序博客网 时间:2024/05/27 19:26
暴力回溯,用位运算加个奇偶剪枝
注意取余的效率,因为取余实在太慢了,所以要最少的进行取余运算,所以就是每19位进行次取余,这样1s内就过了
/*author:jxylang:C/C++university:China,Xidian University**If you need to reprint,please indicate the source***/#include <stdio.h>int ans[50];char nok(int now){ int i,t; unsigned long long r; for(i=r=t=0;i<now;i++,t++) { r=r*10+ans[i]; if(t==18)//19位 { t=0; r%=now; } } return r%now;}int n,m;char dfs(int now){ if(now>m)return 1; int i=(now==1),f=now&1,t=now-1; for(;i<10;i++) { ans[t]=i; if(now>=n&&((!f&&(i&1))||nok(now)))continue;//奇偶 if(dfs(now+1))return 1; } return 0;}int main(){ int T,C=0; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); printf("Case %d: ",++C); if(!dfs(1))printf("-1\n"); else { int i; for(i=0;i<m;i++) printf("%d",ans[i]); puts(""); } }}
- uva 10624 Super Number 回溯
- UVA - 10624 Super Number(回溯)
- uva 10624 - Super Number
- uva 10624Super Number
- UVa 10624 - Super Number
- UVA 10624 - Super Number
- UVa 10624 - Super Number
- UVA - 10624 Super Number
- [回溯]Super Number uva10624
- UVA - 10624 Super Number 暴力
- uva 10642 Super Number(dfs)
- UVa 10624 - Super Number, Rujia Liu的神题(四)
- uva 10624 Super Number 险险的过了。。。
- 10624 - Super Number
- 10624 - Super Number
- UVA回溯
- uva10624 - Super Number
- UVA10624 - Super Number(dfs)
- Beauty of Programming [Essentials]
- Android之TextView属性列表
- 【远控编写05】客户端界面的设计和编写--列表中显示弹出菜单
- AndroidManifest.xml文件解析
- Yum 出现 Temporary failure in name resolution 解决方案
- uva 10624 Super Number 回溯
- JAVA PriorityQueue应用实例
- java为按扭加一个F1快捷键
- CentOS 的GAE实验
- How to Trace Qemu
- Java中的快捷键和右键属性添加实现
- opengl构造一个灵活的camera
- 怎样设置菜单项JMenuItem()的快捷键
- Java菜单条、菜单、菜单项