P1002 NOIP2002 普及組 過河卒

2022-09-19 17:12:17 字數 1155 閱讀 6773

棋盤上 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 2

using

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...