codevs 3195 發現寶藏

2021-09-08 08:38:16 字數 1103 閱讀 3372

小毛在一塊地方發現了一塊寶藏,他把這塊地方看成為乙個a*b的矩陣,有a條南北方向的道路和b條東西方向的道路。南北方向的a條道路從西到東依次編號為l到a,而東西方向的b條道路從南到北依次編號為l到b,南北方向的道路i和東西方向的道路j的交點記為(i,j)。小毛現在在(1,1)入口處,而寶藏點在(a,b)處,他只能沿著道路走,而且為了縮短時間只允許沿著向東和北的方向行駛。現在有n個交叉路口(x1,yl)、(x2,y2)……,(xn,yn),有大塊石頭擋路,這些路口是不能行走的,請你幫小毛統計一共有多少種走法到達寶藏點?

輸入描述 input description

第一行包含兩個整數a和b(1≤a,b≤16);第二行包含乙個正整數n(1≤n≤40),表示有n個路口有大塊石頭擋路;接下來n行,每行兩個整數xi,yi,描述路口的位置,以空格隔開。

輸出描述 output description

輸出乙個整數表示從(1,1)到(a,b)的行走路線總方法數。

樣例輸入 sample input

5 42 2

2 34 2

樣例輸出 sample output

因為只能向右走或向下走,所以從(1,1)到(i,j)的路徑條數隻與到達(i-1,j)和(i,j-1)的路徑條數有關,

所以轉移方程為f[i][j]=f[i-1][j]+f[i][j-1]。

#includeusing namespace std;

int f[20][20],a,b,n;

bool c[20][20];

int main()

f[1][1]=1;

for(i=1;i<=a;i++)

for(j=1;j<=b;j++)

if(!f[i][j]&&!c[i][j])

f[i][j]=f[i][j-1]+f[i-1][j];

printf("%d",f[a][b]);

}

posted @

2016-09-10 10:43

惑&葬 閱讀(

...)

編輯收藏

2 13 發現對等節點

節點是網路的一部分,它需要連線到網路中的一些其他節點,這樣它可以廣播交易 區塊,並監聽新的交易 區塊。節點不需要連線到網路中的每乙個節點 相反,它只連線到幾個其他節點,這些節點再連線到另外幾個節點。按照這個方式,整個網路彼此連線。但是節點如何發現網路中的一些其他節點呢?沒有每個節點都可以連線到的 伺...

Exchange 2010發現拓撲失敗

今天跟大家繼續分享乙個我在專案中遇到的問題哈,希望對大家今後的專案排錯有幫助。問題背景 企業主域控從 window server 2003公升級為windows server 2012 r2 具體實施方法可以參考我之前的文章 在順利公升級完主域控之後,突然發現內部的exchanege伺服器無法使用了...

針對ACCESS漏洞又一發現

文 amanl 如今sql injection可謂是火爆,諸多新的injection方式被挖掘出來。利用系統錯誤來爆路徑,更是熱門話題,今天我也湊個熱鬧。本例測試適用於access 由於ms sql查詢不存在指定路徑 aceess存在乙個可以把源資料庫的表匯入到目標資料庫中。如 mysource.m...