藍橋杯 歷屆試題 地宮取寶

2021-07-10 02:14:17 字數 1098 閱讀 6593

我本來想dp的 可惜dp不出來 後來才知道是記憶化搜尋

至於那個返回的max_+1是因為 本來返回max_的 但是因為一開始代入dfs的引數是-1

所以就要+1

#include

#include

const int mod=1000000007;

int a[51][51];

int dp[51][51][13][13];

int n,m,k;

int dfs(int x,int y,int num,int max_)

else if(num==k)sum++;

return dp[x][y][num][max_+1]=sum;

}if(x+1<=n)

sum+=dfs(x+1,y,num,max_);

if(sum>=mod)sum%=mod;

}if(y+1<=m)

sum+=dfs(x,y+1,num,max_);

if(sum>=mod)sum%=mod;

}return dp[x][y][num][max_+1]=sum;

}int main()

}memset(dp,-1,sizeof(dp));

printf("%d\n",dfs(1,1,0,-1));

// for(int i=0;i<51;i++)

// }

// }

// for(int

i=0;i<51;i++)

// }

// dp[0][0][0][0]=1;

// for(int

i=0;i<=n;i++)

// printf("\n");

// }

// }

// }

// int ans=0;

// for(int i=0;i<=12;i++)

// printf("%d\n",dp[n][m][k][12]);

return 0;

}

藍橋杯 歷屆試題 地宮取寶

問題描述 x 國王有乙個地宮寶庫。是 n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 當小...

藍橋杯 歷屆試題 地宮取寶

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 x國王有乙個地宮寶庫。是n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意...

藍橋杯 歷屆試題 地宮取寶

x 國王有乙個地宮寶庫。是 n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 當小明走到出口...