棋盤上 aa 點有乙個過河卒,需要走到目標 bb 點。卒行走的規則:可以向下、或者向右。同時在棋盤上 cc 點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。
棋盤用座標表示,aa 點 (0, 0)(0,0)、bb 點 (n, m)(n,m),同樣馬的位置座標是需要給出的。
現在要求你計算出卒從 aa 點能夠到達 bb 點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。
一行四個正整數,分別表示 bb 點座標和馬的座標。
乙個整數,表示所有的路徑條數。
輸入 #1複製
6 6 3 3輸出 #1複製
6對於 100 \%100% 的資料,1 \le n, m \le 201≤n,m≤20,0 \le0≤ 馬的座標 \le 20≤20。
【題目**】
noip 2002 普及組第四題
1 #include 2using
namespace
std;
3long
long f[21][21] = ;//
f為最大棋盤點數4//
ctrl 為馬可以踩到的點,n和m棋盤右下角終點座標,hx和hy為馬所在的位置
5int ctrl[21][21
], n, m, hx, hy; 6//
d陣列包含9個座標,分別為馬能踩到的9個點
7int d[9][2] = ,,,,
8 , , , ,
9 };//
馬的控制範圍相對於馬位置的偏移量
10int
main()
19 f[0][0] = 1 - ctrl[0][0]; //
若原點就是馬控制點,那初始數量是0,否則1
2021
for (int i = 0; i <= n; i++)
22for (int j = 0; j <= m; j++)
27 cout << f[n][m]; //
輸出答案
28return0;
29 }
P1002 NOIP2002 普及組 過河卒
最近在洛谷刷題,決定用部落格把自己的解題思路以及踩過的坑整理總結一下 先來看看題目吧 棋盤上 aa 點有乙個過河卒,需要走到目標 bb 點。卒行走的規則 可以向下 或者向右。同時在棋盤上 cc 點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標...
NOIP 2002 普及組 數字遊戲
題目鏈結 題目分析 這道題是一道區間dp題,跟能量項鍊還有石子合併差不多,我們用f i j l 表示處理i到j這一區間分為l段所能得到的最大值或是最小值。具體看 程式 include include include include include using namespace std int n,...
NOIP2002 普及組 選數
題目描述 已知 n 個整數 x1,x2,xn,以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 19 38 3 12 1...