国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Codeforces 100726A 或 POJ 3842

2019-11-10 20:18:29
字體:
來源:轉載
供稿:網友

題目鏈接:http://poj.org/PRoblem?id=3842

題意: 給你至多7個數字,問這些數字最多能組成多少個質數。

題解: gym里的題目都挺好的(個別除外),這道題即是。 首先我們不妨預處理一個prime[]數組,prime[i]反映第i個數是否為質數。 然后對這些數字排序……排序完了以后枚舉排列…… 然后就過了…… 代碼:

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int size = 10000000;typedef long long LL;bool pm[size];void update() { for ( int i = 0; i < size; i ++ ) pm[i] = 1; pm[0] = pm[1] = 0; for ( LL i = 2; i < size; i ++ ) { if(pm[i] == 1) { for( LL j = i*i; j < size; j += i) pm[j] = false; } }}bool vis[size];char str[15];int ntr[15], re[size];int main() { update(); memset(vis, 0, sizeof(vis)); int tst; scanf("%d", &tst); while( tst -- ) { scanf("%s", str); int len = strlen(str); for ( int i = 0; i < len; i ++ ) ntr[i] = str[i]-'0'; int ans = 0, curs = 0; sort(ntr, ntr+len); do { int sum = 0; for ( int i = 0; i < len; i ++ ) { sum = sum*10+ntr[i]; if(vis[sum] == 0 && pm[sum] == 1) { ans ++; vis[sum] = -1; re[curs ++] = sum; } } } while(next_permutation(ntr, ntr+len)); printf("%d/n", ans); for ( int i = 0; i < curs; i ++ ) vis[re[i]] = 0; } return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定陶县| 蓝山县| 黄龙县| 新野县| 疏勒县| 甘洛县| 高雄县| 章丘市| 临泉县| 沙田区| 康乐县| 瑞丽市| 凉山| 乌海市| 沈阳市| 容城县| 靖远县| 项城市| 永靖县| 兴安盟| 潜山县| 丹凤县| 汉沽区| 长葛市| 乳源| 岳普湖县| 会理县| 龙州县| 城市| 称多县| 马尔康县| 白玉县| 荔波县| 沂南县| 宿州市| 白朗县| 泾源县| 峨边| 大兴区| 太和县| 华安县|