上学路线 (Standard IO)
生活随笔
收集整理的這篇文章主要介紹了
上学路线 (Standard IO)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意/Description:
? ? ? ?你所在城市的街道好像一個棋盤,有a條南北方向的街道,和b條東西方向的街道。
? ? ? ?南北方向的a條街道從西到東依次編號為1到a,而東西方向的b條街道從南到北依次編號為1到b,南北方向的街道i和東西方向的街道j的交點記為(I,j)。
? ? ? ?你住在(1,1)處,而學校在(a,b)處,你騎自行車去上學,自行車只能沿著街道走,而且為了縮短時間只允許沿著向東和北的方向行駛。
? ? ? ?現在有N個交叉路口在施工(X1,Y1)、(X2,Y2),,,(Xn,Yn),這些路口是不能通車的。
? ? ? ?問你上學一共有多少走法?
?
讀入/Input:
? ? ? ?第一行包含兩個整數a和b,并且滿足1<=a,b<=16。
? ? ? ?第二行包含一個整數N,表示有N個路口在維修(1<=N<=40)
? ? ? ?接下來N行,每行兩個整數X_i,Y_i,描述路口的位置。
輸出/Output:
? ? ? ?輸出一個整數表示從(1,1)到(a,b)的行車路線總數。
?
題解/solution:
? ? ? ?赤裸裸的搜索。
?
代碼/Code:
?
varn,m,ans:longint;a:array [0..20,0..20] of boolean;dx,dy:array [1..2] of longint; procedure init; vart,i,x,y:longint; beginfillchar(a,sizeof(a),true);readln(m,n);readln(t);for i:=1 to t dobeginreadln(y,x);a[n-x+1,y]:=false;end;ans:=0;dx[1]:=-1; dy[1]:=0;dx[2]:=0; dy[2]:=1; end;procedure main(x,y:longint); vari:longint; beginif (x<1) or (x>n) or (y<1) or (y>m) or (not a[x,y]) then exit;if (x=1) and (y=m) thenbegininc(ans);exit;end;a[x,y]:=false;for i:=1 to 2 domain(x+dx[i],y+dy[i]);a[x,y]:=true; end;begininit;main(n,1);write(ans); end.轉載于:https://www.cnblogs.com/zyx-crying/p/9319632.html
總結
以上是生活随笔為你收集整理的上学路线 (Standard IO)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016.07.17-18 集合方法
- 下一篇: 闲钱放哪里收益高又安全 这些技巧你都