USACOTrainning.Prime Palindromes
2010-04-13 20:19
253 查看
题目大意是给两个整数a,b,然后求出这之间的所有回文素数。
枚举回文的数,其实枚举回文的数加上判断宿舍的时间不是很长的。
枚举回文的数,其实枚举回文的数加上判断宿舍的时间不是很长的。
#include <iostream> #include <string> #include <algorithm> #include <string.h> #include <vector> #include <math.h> #include <time.h> #include <queue> #include <set> using namespace std; vector<int>ans; int num[8]; bool check(int val) { for(int i = 2; i <= sqrt(val * 1.0); i++) { if(val % i == 0) return false; } return true; } void dfs(int i, int len) { if(i == len) { int val = 0; for(int j = 0; j < 2 * len; j++) { if(j < len) val = val * 10 + num[j]; else val = val * 10 + num[2 * len - 1 - j]; } if(check(val)) ans.push_back(val); return; } if(i == 0) { for(int j = 1; j <= 9; j += 2) { //if(j == 5) continue; num[i] = j; dfs(i + 1, len); } } else { for(int j = 0; j <= 9; j++) { num[i] = j; dfs(i + 1, len); } } } void ddfs(int i, int len) { if(i == len) { int val = 0; for(int j = 0; j < 2 * len - 1; j++) { if(j < len) val = val * 10 + num[j]; else val = val * 10 + num[2 * len - 2 - j]; } if(check(val)) ans.push_back(val); return; } if(i == 0) { for(int j = 1; j <= 9; j += 2) { //if(j == 5) continue; num[i] = j; ddfs(i + 1, len); } } else { for(int j = 0; j <= 9; j++) { num[i] = j; ddfs(i + 1, len); } } } void ready() { for(int i = 1; i <= 8; i++) { if(i % 2 == 0) dfs(0, i / 2); else ddfs(0, i / 2 + 1); } } int main() { freopen("pprime.in", "r", stdin); freopen("pprime.out", "w", stdout); ready(); sort(ans.begin(), ans.end()); int a, b, res = 0; scanf("%d%d", &a, &b); for(int i = 0; i < ans.size(); i++) { if(ans[i] >= a && ans[i] <= b) printf("%d\n", ans[i]); } }
相关文章推荐
- USACO1.5.2--Prime Palindromes
- USACO Section 1.5 Prime Palindromes(回文数+素数)
- USACO 1.5.2 prime palindromes
- [USACO 1.5.2] Prime Palindromes
- [USACO1.5]回文质数 Prime Palindromes
- USACO section 1.5.2 Prime Palindromes
- P1217 [USACO1.5]回文质数 Prime Palindromes
- USACO 1.4 Prime Palindromes
- 【USACO】Prime Palindromes(暴力暴力再暴力)
- [USACO1.5]回文质数 Prime Palindromes(暴力枚举)
- P1217 [USACO1.5]回文质数 Prime Palindromes(#1 - 6)
- USACO-cha1-sec1.5 Prime Palindromes
- USACO Prime Palindromes
- USACO: Section 1.5 -- PROB Prime Palindromes
- 数组去重 usaco Prime Palindromes
- [搜索]USACO-1.5-Prime Palindromes
- P1217 [USACO1.5]回文质数 Prime Palindromes
- 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes
- USACO1.5 回文质数 Prime Palindromes
- USACO1.5.2 Prime Palindromes (pprime)