馬攔過河卒(noip)
time limit:7000ms memory limit:65536k
description
如圖,a點有乙個過河卒,需要走到目標 b點。卒行走規則:可以向下、或者向右。同時在棋盤上的任一點有乙個對方的馬(如上圖的c點),該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如上圖 c點上的馬可以控制 9個點(圖中的p1,p2 … p8和 c)。卒不能通過對方馬的控制點。
棋盤用座標表示,a點(0,0)、b點(n,m)(n,m為不超過 17的整數,並由鍵盤輸入),同樣馬的位置座標是需要給出的(約定: c<>a,同時c<>b)。現在要求你計算出卒從 a點能夠到達 b點的路徑的條數。
input
輸入b點的座標(n,m)以及對方馬的座標(x,y)
output
螢幕輸出乙個整數(路徑的條數)。
sample input
6 6 3 2sample output
17source
noip2002 普及組
#include #define maxn 19
int n, m;
int g[maxn][maxn];
bool flag[maxn][maxn];
int tx[9]=;
int ty[9]=;
void _read(int& d)
for(d=0;t<='9'&&t>='0';t=getchar()) d=d*10+t-'0';
if(f) d=-d;
}void _out(int d)
if(d<0)
while(d)
for(--top;top;--top) putchar('0'+o[top]);
}void biaoji(int x, int y)
void rec(int x, int y)
if(flag[x][y-1]) g[x][y]+=g[x][y-1];
else
flag[x][y]=1;
}int main()
馬攔過河卒
問題描述 棋盤上a 點有乙個過河卒,需要走到目標 b點。卒行走的規則 可以向下 或者向右。同時在棋盤上 c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a 點 0,0 b 點 n,m n,m為不超過 15的整數 同樣馬的位置座標是需要...
馬攔過河卒
如圖,a點有乙個過河卒,需要走到目標 b點。卒行走規則 可以向下 或者向右。同時在棋盤上的任一點有乙個對方的馬 如上圖的c點 該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如上圖 c點上的馬可以控制 9個點 圖中的p1,p2 p8和 c 卒不能通過對方馬的控制點。棋盤用座標表示,a點 0,...
馬攔過河卒
problem description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過15的整數 同樣...