具體題目參照航電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...