乙個n×n的網格,你一開始在(1, 1),即左上角。每次只能移動到下方相鄰的格仔或者右方相鄰的格仔,問到達(n, n),即右下角有多少種方法。
但是這個問題太簡單了,所以現在有m個格仔上有障礙,即不能走到這m個格仔上。
輸入格式:
輸入檔案第1行包含兩個非負整數n,m,表示了網格的邊長與障礙數。
接下來m行,每行兩個不大於n的正整數x, y。表示座標(x, y)上有障礙不能通過,且有1≤x, y≤n,且x, y至少有乙個大於1,並請注意障礙座標有可能相同。
輸出格式:
輸出檔案僅包含乙個非負整數,為答案mod 100003後的結果。
輸入樣例#1: 複製
3 13 1
輸出樣例#1: 複製
5
對於20%的資料,有n≤3;
對於40%的資料,有n≤100;
對於40%的資料,有m=0;
對於100%的資料,有n≤1000,m≤100000。
思路:簡單的棋盤dp。
#include#include#include
#include
#define mod 100003
using
namespace
std;
intn,m;
int map[1010][1010
];int ans[1010][1010
];int
main()
ans[
1][1]=1
;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(!map[i][j])
cout
<}
洛谷 P1176 路徑計數2 遞推
乙個n n的網格,你一開始在 1,1 即左上角。每次只能移動到下方相鄰的格仔或者右方相鄰的格仔,問到達 n,n 即右下角有多少種方法。但是這個問題太簡單了,所以現在有m個格仔上有障礙,即不能走到這m個格仔上。輸入格式 輸入檔案第1行包含兩個非負整數n,m,表示了網格的邊長與障礙數。接下來m行,每行兩...
P1176 路徑計數2
題目描述 乙個n n的網格,你一開始在 1,1 即左上角。每次只能移動到下方相鄰的格仔或者右方相鄰的格仔,問到達 n,n 即右下角有多少種方法。但是這個問題太簡單了,所以現在有m個格仔上有障礙,即不能走到這m個格仔上。輸入輸出格式 輸入格式 輸入檔案第1行包含兩個非負整數n,m,表示了網格的邊長與障...
洛谷P1608 路徑計數
給你乙個n點m邊的有向圖,求第乙個點到第n個點的最短路和最短路條數 很明顯直接dijkstra求最短路,加乙個最短路計數 如下 if dis y dis x edge i w else if dis y dis x edge i w ans y ans x 記住要刪除重邊,要不然計數會重複 上 in...