time limit: 1 sec
memory limit: 128 mb
submit: 425
solved: 93
submit
status
web board
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
解法一:考慮dp,dp[i][j]表示到達位置(i,j)的方案數,dp[i][j] = -1 表明該位置未被訪問,直接暴力轉移就可以啦。
時間複雜度:o(t * n * n)。
解法二:拋開壞的位置不說,發現從(1,1)到達每個位置的方案數都是楊輝三角裡面的某個組合數。
而且達到位置(n, m)的方案數是c(n + m - 2,m - 1)。
記ans[1][1][n][m]為(1,1)到(n,m)的方案數。
這樣結果就是ans[1][1][n][n] - ans[1][1][x][y] * ans[x][y][n][n]。防止出錯,要用逆元。
時間複雜度:o(t * log(1e9 + 5)^4)。
[cpp]view plain
copy
?
#include
intmap[32][32];
intmain()
} }
printf("%d\n"
,map[n][n]==0?-1:map[n][n]);
} return
0;
}
985系列 985的方格難題
time limit 1 sec memory limit 128 mb submit 450 solved 99 submit status web board 985走入了乙個n n的方格地圖,他已經知道其中有乙個格仔是壞的。現在他要從 1,1 走到 n,n 每次只可以向下或者向右走一步,問他能...
zzuli oj 985的方格難題(DP)
time limit 1 sec memory limit 128 mb submit 379 solved 80 submit status web board 985走入了乙個n n的方格地圖,他已經知道其中有乙個格仔是壞的。現在他要從 1,1 走到 n,n 每次只可以向下或者向右走一步,問他能...
985的買飲料難題
time limit 1 sec memory limit 128 mb submit 221 solved 118 submit status web board 天氣太熱了,985制定了對未來的規劃即第i天喝a i 瓶飲料。為了節約開支,他打聽到了第i天每瓶飲料的 p i 為了不讓自己的規劃落空...