洛谷 P1176 路徑計數2

2022-04-05 03:57:13 字數 902 閱讀 2787

乙個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 1

3 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...