国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 南召县| 陇川县| 霞浦县| 建德市| 镇康县| 文成县| 金秀| 靖安县| 和静县| 文登市| 新竹市| 沈阳市| 新乡市| 惠东县| 杨浦区| 军事| 南川市| 米易县| 大足县| 集贤县| 讷河市| 乐昌市| 云林县| 阜南县| 安多县| 达尔| 巴彦淖尔市| 绥阳县| 宁强县| 左贡县| 都昌县| 寿阳县| 丘北县| 正定县| 麻江县| 延吉市| 铜山县| 通许县| 怀集县| 奉节县| 古交市|