SDUT 1265 馬停下過河卒 DFS

2021-09-07 01:49:25 字數 915 閱讀 3944

time limit: 3000ms   memory limit: 65536k  有疑問?點這裡^_^

棋盤上a點有乙個過河卒,須要走到目標b點。卒行走的規則:可以向下、或者向右。

同一時候在棋盤上c點有乙個對方的馬,該馬所在的點和全部跳躍一步可達的點稱為對方馬的控制點。

因此稱之為「馬攔過河卒」。棋盤用座標表示,a點(0。0)、b點(n,m)(n,m為不超過15的整數)。相同馬的位置座標是須要給出的。如今要求你計算出卒從a點可以到達b點的路徑的條數,如果馬的位置是固定不動的,並非卒走一步馬走一步。

一行四個資料,用空格分隔,分別表示b點的座標和馬的座標。

乙個資料,表示全部的路徑條數。

6 6 3 3

6
sad 寫了好久。。
接近乙個小時。一開始竟然把馬的範圍初始化錯了。。

首先生成地圖,然後掛掉馬的範圍(8個點) 。然後爆搜就能夠了。
#include #include #include #include #include #include #include #include #include #include #include #include #define ll long long

using namespace std;

const int inf = 0x3f3f3f3f;

int n,m,ex,ey,ans,ma[20][20];

bool vis[20][20];

void dfs(int x,int y)

if(x+1<=n&&ma[x+1][y]&&!vis[x+1][y])

if(y+1<=m&&ma[x][y+1]&&!vis[x][y+1]) }

int main()

SDUT 1265 馬攔過河卒

馬攔過河卒 time limit 3000 ms memory limit 65536 kib problem description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因...

1265 馬攔過河卒 dfs

problem description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過15的整數 同樣...

SDUT 馬攔過河卒

time limit 3000ms memory limit 65536k 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n...