直接遞迴會重複計算一些值,如題所述會花費很長時間。最好的方法就是用記憶化搜尋,用陣列將值記錄下來,當搜到已經計算過的值時直接使用就行了,避免再一次遞迴計算,這樣會節省很多時間。
**如下:
#include using namespace std;
const int size = 21;
int map[size][size][size];
void makemap()
}int main()
return 0;
}
poj 1579(記憶化搜尋)
consider a three parameter recursive function w a,b,c if a 0 or b 0 or c 0,then w a,b,c returns 1 if a 20 or b 20 or c 20,then w a,b,c returns w 20,20...
POJ 1579 記憶化搜尋
問題描述 自定義函式w a,b,c 如果 a 0 或b 0 或 c 0,則返回結果 1 如果 a 20 或 b 20 或 c 20,則返回結果 w 20,20,20 如果 a b 且 b c,則返回結果 w a,b,c 1 w a,b 1,c 1 w a,b 1,c 否則返回結果 w a 1,b,c...
POJ 1579 記憶遞迴
題意 if a 0 or b 0 or c 0,then w a,b,c returns 1 if a 20 or b 20 or c 20,then w a,b,c returns w 20,20,20 if a b and b c,then w a,b,c returns w a,b,c 1 w...