dp
985的方格難題
985走入了乙個n * n的方格地圖,他已經知道其中有乙個格仔是壞的。現在他要從(1, 1)走到(n, n),每次只可以向下或者向右走一步,問他能否到達(n,n)。若不能到達輸出-1,反之輸出到達(n,n)的方案數。
第一行輸入乙個整數t,代表有t組測試資料。
每組資料第一行輸入三個整數n,x,y,分別代表方格地圖的大小以及壞掉格仔的位置。
注:1 <= t <= 20,1 <= n <= 30,1 <= x,y <= n。
若可以到達(n,n)則輸出方案數對1e9 + 7取餘的結果,反之輸出-1。
22 1 2
2 2 2
1-1
題解:既然結果要對1e9取餘,資料大肯定不能用dfs,會tle。
用dp,map[i][j]代表到(
i,j)處的方案數,需要注意的是i==1和j==1時的情況
#include#includeusing namespace std;
int main()
else if (j==1)
map[i][j]=map[i-1][j];
else
map[i][j]=(map[i-1][j]+map[i][j-1])%1000000007;}}
} printf ("%d\n",map[n][n]==0?-1:map[n][n]);
} return 0;
}
zzuli1894 985的方格難題
time limit 1 sec memory limit 128 mb submit 436 solved 95 submit status web board 985走入了乙個n n的方格地圖,他已經知道其中有乙個格仔是壞的。現在他要從 1,1 走到 n,n 每次只可以向下或者向右走一步,問他能...
1894 985的方格難題
time limit 1 sec memory limit 128 mb submit 325 solved 59 submit status web board 985走入了乙個n n的方格地圖,他已經知道其中有乙個格仔是壞的。現在他要從 1,1 走到 n,n 每次只可以向下或者向右走一步,問他能...
1894 985的方格難題
time limit 1 sec memory limit 128 mb submit 325 solved 59 submit status web board 985走入了乙個n n的方格地圖,他已經知道其中有乙個格仔是壞的。現在他要從 1,1 走到 n,n 每次只可以向下或者向右走一步,問他能...