uva 10118 免費糖果 深搜 記憶化搜尋

2021-06-13 22:06:13 字數 519 閱讀 7095

uva 10118

#include#include#define n 45

#define c 22

int max(int a,int b)

int pile[4][n],f[n][n][n][n],n,top[4];

int dfs(int s,int hash[c])

if(s==5)//籃子滿了,末狀態

return f[top[0]][top[1]][top[2]][top[3]]=0;

int h[c],t[4];

for(i=0;i<4;i++)

else

top[i]--;}}

return f[top[0]][top[1]][top[2]][top[3]]=ans;

}int main()

{ int i,j,k,l,m;

while(scanf("%d",&n)&&n)

{memset(pile,0,sizeof(pile));

for(i=0;i

Uva 10118 免費糖果

參考 剛開始,我想到了dp狀態的描敘,d a,b,c,d 從 4堆裡面拿走 a,b,c,d 的最優值,但是好難實現啊,dp順序感覺是可以用lcs的方案,但是,怎麼儲存自己口袋裡面有哪些呢?hash.最後參考了一下大神的方案,記憶化寫的,orz.嗯,像這種狀態轉移比較難寫的,還是用搜尋的思想好一點。i...

青藤 10118 質數環

題目描述 乙個大小為n n 17 的質數環是由1到n共n個自然數組成的乙個數環,數環上每兩個相鄰的數字之和為質數。如下圖是乙個大小為6的質數環。為了方便描述,規定數環上的第乙個數字總是1。若兩個質數環,數字排列順序相同則視為本質相同。現在要求你求出所有本質不同的數環。輸入格式 只有乙個數n,表示需求...

UVA 木塊問題 101

uva 木塊問題 101,好開森好開森。雖然花了很長時間,不過能一次就ac也是蠻開心的,用c 寫效率就是不錯 疊木塊其實是乙個二維空間,每個木塊都有縱橫座標 include include includeusing namespace std block用於記錄木塊所在位置,x是位於哪一疊木塊,y是...