codevs2693 上学路线(施工)
難度等級(jí):黃金
2693 上學(xué)路線(施工)
題目描述?Description問(wèn)題描述
?你所在的城市街道好像一個(gè)棋盤(pán),有a條南北方向的街道和b條東西方向的街道。
?? 南北方向a條街道從西到東依次編號(hào)為1到a,而東西方向的b條街道從南到北依次編號(hào)為1到b,南北方向的街道i和東西方向的街道j的交點(diǎn)記為(i,j)。
?? 假定你住在(1,1)處,而學(xué)校在(a,b)處,你騎自行車(chē)去上學(xué),自行車(chē)只能沿著街道走,而且為了縮短時(shí)間只允許沿著東、北方向行駛。
?? 現(xiàn)在有n個(gè)交叉路口在施工(X1,Y1),(X2,Y2),(Xn,Yn),這些路口暫時(shí)不能通車(chē)。問(wèn)你上學(xué)有多少種走法?
輸入描述?Input Description? 共二行。
? 第一行包含兩個(gè)整數(shù)a和b,并且滿足1<=a,b<=16.
? 第二行包含一個(gè)整數(shù)n,表示有n個(gè)路口在維修(1<=N<=40)。
? 接下來(lái)的n行,每行兩個(gè)整數(shù)X_i、Y_i,描述路口的位置。
輸出描述?Output Description輸出一個(gè)整數(shù)表示從(1,1)到(a,b)的騎車(chē)路線總數(shù)。
?? 只有一行
樣例輸入?Sample Input5 4
3
2 2
2 3
4 2
樣例輸出?Sample Output5
#include<iostream> using namespace std; int a,b,c,s; bool v[20][20]; void dfs(int x,int y) {if(x==a&&y==b) {s++;return ;}if(x<a&&!v[x+1][y]) dfs(x+1,y);//往北if(y<b&&!v[x][y+1]) dfs(x,y+1);//往東 } int main() {cin>>a>>b>>c;for(int i=1;i<=c;i++){int x,y;cin>>x>>y;v[x][y]=true;//true代表正在施工 }dfs(1,1);cout<<s; }?
轉(zhuǎn)載于:https://www.cnblogs.com/TheRoadToTheGold/p/6160032.html
總結(jié)
以上是生活随笔為你收集整理的codevs2693 上学路线(施工)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt实现FlatUI样式(开源)
- 下一篇: 如何组建测试团队?