馬攔過河卒 NOIP

2021-07-03 15:09:21 字數 1181 閱讀 7407

馬攔過河卒(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 2
sample output

17
source

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的整數 同樣...