USACO SuperPrime Rib
来源:互联网 发布:成都知美术馆地址 编辑:程序博客网 时间:2024/05/17 04:52
竟然第一次就通过了,难得啊~~~
思路是这样的: 对每一个SuperPrime,最高位在{2,3,5,7}里挑,其他位在{1,3,7,9}里挑。
所以在构造n位的SuperPrime数的时候,从高位(第一位)到低位(第N位),采用递归;并且分level == 1 , level > 1两种情况。 level == N + 1 的时候结束。见代码
/*ID: wangxin12PROG: sprimeLANG: C++*/#include <iostream>#include <fstream>#include <vector>#include <math.h>#include <string>using namespace std;int N;bool isPrime(int n) { bool flag = true; int start = 2; int end = sqrt((double)n); for(int i = start; i <= end; i++) { int mod = n % i; if( mod == 0) { flag = false; break; } } return flag; } void f(int level, vector<int> & v1) {//base caseif(level == N + 1) {ofstream fout("sprime.out");for(int i = 0; i < v1.size(); i++) {fout<<v1[i]<<endl;}fout.close();return;}vector<int> curr;if(level == 1) {curr.push_back(2);curr.push_back(3);curr.push_back(5);curr.push_back(7);f(level + 1, curr);return;}for(int i = 0; i < v1.size(); i++) {int temp;temp = v1[i] * 10 + 1;if(isPrime(temp)) curr.push_back(temp);temp = v1[i] * 10 + 3;if(isPrime(temp)) curr.push_back(temp);temp = v1[i] * 10 + 7;if(isPrime(temp)) curr.push_back(temp);temp = v1[i] * 10 + 9;if(isPrime(temp)) curr.push_back(temp);}f(level + 1, curr);return;}int main() {ifstream fin("sprime.in");fin>>N;fin.close();vector<int> result;f(1, result); return 0;}
- 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 Superprime Rib(dfs)
- USACO 1.5-Superprime Rib
- usaco Superprime Rib
- usaco Superprime Rib
- USACO Prime Palindrome, SuperPrime Rib
- [USACO 1.5.3] Superprime Rib
- USACO 1.5 SuperPrime Rib (sprime)
- USACO Section 1.5 Superprime Rib
- USACO Section 1.5 Superprime Rib
- 3.1. 外部引用CSS -- External
- 关于ASCII码
- 谈Lambda表达式
- Java HttpClient抓取12306.cn的各种信息
- jquery
- USACO SuperPrime Rib
- Hibernate Save persist 区别
- 3.2. 内部引用CSS -- Internal
- (1)EJB3.0 简介以及开发第一个无状态的会话bean 以及 客户端【关于JNDI】
- Android中设置全屏的方法
- 一个百度的面试题目
- DataGrid
- oracle创建job
- xcode 3.2.5 真机调试破解