USACO Superprime Rib(dfs)
来源:互联网 发布:ai cs6是什么软件 编辑:程序博客网 时间:2024/05/02 06:13
题目请点我
题解:
这道题其实很简单,dfs+从前往后判断就好了,每递归一层就进行一次判断。
USACO第一章节,最后一发。也是放假回家前的最后一道题!!
代码实现:
/*ID: eashionLANG: C++TASK: sprime*/#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#define MAX 9using namespace std;int N;int num[MAX];void print();void dfs(int len);bool test(int len);bool if_prime(int x);int main(){ freopen("sprime.in","r",stdin); freopen("sprime.out","w",stdout); while( scanf("%d",&N) != EOF ){ memset(num,0,sizeof(num)); dfs(0); } return 0;}void dfs(int len){ if( len == N ){ print(); return ; } for( int i = 0; i < 10; i++ ){ num[len] = i; if( test(len) ){ dfs(len+1); } } return ;}bool test(int len){ int tmp = 0; for( int i = 0; i <= len; i++ ){ tmp *= 10; tmp += num[i]; } if( !if_prime(tmp) ){ return false; } return true;}bool if_prime(int x){ if( x == 0 || x == 1 ){ return false; } if( x == 2 || x == 3 ){ return true; } int up_B = sqrt(x); for( int i = 2; i <= up_B; i++ ){ if( x%i == 0 ){ return false; } } return true;}void print(){ for( int i = 0; i < N; i++ ){ printf("%d",num[i]); } printf("\n");}
0 0
- USACO Superprime Rib(dfs)
- USACO 1.5 Superprime Rib (DFS)
- usaco Superprime Rib<dfs找回文>
- Superprime Rib(usaco)
- USACO SuperPrime Rib
- USACO:Superprime Rib
- USACO-Superprime Rib
- USACO Superprime Rib
- USACO: Superprime Rib
- USACO 1.5 Superprime Rib
- USACO Superprime Rib
- USACO--1.5Superprime Rib
- USACO 1.5-Superprime Rib
- usaco Superprime Rib
- usaco Superprime Rib
- USACO Section 1.5 - Superprime Rib(DFS + 枚举)
- USACO Prime Palindrome, SuperPrime Rib
- [USACO 1.5.3] Superprime Rib
- iotop命令详解
- javaweb webSocket 实现简单的点对点聊天功能
- Linux系统中时间相关命令(cal,date,hwclock)
- swift2 继承
- Java笔记---解决JBoss 和 Tomcat 占用同一 8080 端口的问题
- USACO Superprime Rib(dfs)
- 常用自动化测试工具介绍(支持B/S、C/S)
- 技术心得十 内存社会的想象
- 约瑟夫问题
- 3.安装Discuz
- C#基础加强内容图解
- JavaScript继承
- 几个性能测试工具
- Linux忘记ROOT密码后的处理方式