過河卒(noip2002初中組複賽第四題)
問題描述:棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則:可以向下或向右。
同時在棋盤上的任一點有乙個對方的馬(如圖中的c點),該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如圖中c點上的馬可以控制9個點。卒不能走到對方馬的控制點。
棋盤用座標表示,a點座標(0,0)、b點座標(n, m) (n,m為不超過20的整數,並由鍵盤輸入),同樣馬的位置座標c是需要給出的(c≠a,且c≠b)。現在要求你計算出卒從a點能夠到達b點的路徑條數。
輸入:b點的座標(n, m)以及對方馬的座標(x,y),不用判錯。
輸出:乙個整數(路徑的條數)。
樣例:8 6 0 4
1617
10 10 4 4
6802
14 16 7 5
39217645
思路:step[n][m]=step[n-1][m]+step[n][m-1];
#include#includeint map[110][110];
int step[110][110];
int main()
; int dy=;
while(~scanf("%d%d%d%d",&n,&m,&x,&y))
map[x][y]=0;
int tx,ty;
for(i=0;i<8;i++)
if(map[0][0])
step[0][0]=1;
for(i=1;i<=n;i++)
if(map[i][0])
step[i][0]=step[i-1][0];
for(j=1;j<=m;j++)
if(map[0][j])
step[0][j]=step[0][j-1];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(map[i][j])
step[i][j]=step[i-1][j]+step[i][j-1];
printf("%d\n",step[n][m]);
}return 0;
}
遞推之馬攔過河卒
馬攔過河卒 time limit 3000 ms memory limit 65536 kib submit statistic discuss problem description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所...
遞推遞迴 L 馬攔過河卒
題目 description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過15的整數 同樣馬的位置座...
馬攔過河卒
問題描述 棋盤上a 點有乙個過河卒,需要走到目標 b點。卒行走的規則 可以向下 或者向右。同時在棋盤上 c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a 點 0,0 b 點 n,m n,m為不超過 15的整數 同樣馬的位置座標是需要...