航電1016題 素數環

2021-10-03 19:55:59 字數 622 閱讀 2691

具體題目參照航電1016:

**如下:

#include using namespace std;

int n;

int ans[17];

int hash[17];

bool isprime[32];

int prime = ; //error:後面未加';'。

void initprime()

for(int i=0; i<11; i++)

}void check()

cout<>n){

cas++;

cout<<"case "《這道題剛看時,聽說是在遞迴的應用這一分類,還沒想通,覺得這個可能是廣搜和深搜吧,不會遞迴吧。

後來突然想到深搜就是一種回溯的思想,就是可以用遞迴實現的,不要總是想著用棧實現,於是才明白這其實是一道深搜題目。

還思維固化在漢諾塔,以為遞迴一定要有遞推關係式,後面答案依賴前面,這個深搜確實不斷遞進。找到答案,判斷,輸出。

程式設計就是要有一種抽象的思維,把東西抽象成點、面、線、圖,然後找到解決方法。

還有可以先用小資料去試,手動運算,然後再推廣用計算機進行大運算。

————————————————————每天堅持做,堅持一年,就是乙個大突破。

杭電OJ1016 素數環

第一想法是 全排列 判斷 原 如下 include includeint n,a 25 prime 38 參考別人的空間換時間方法 打表法 int judge int x if prime a n a 1 return 1 int swap int b,int c void pailie int k...

hdu1016 素數環剪枝dfs

題意 n 20範圍,搜乙個全排列,滿足素數環,相鄰兩個數字和為素數,最後一位和第一位之和也是素數。剪枝 每一位都先先判斷再搜尋。include include include include include include include include include include includ...

航電ACM練習 2098 分拆素數和

problem description 把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?input 輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。output 對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。sample input 30 26 0 samp...