CSU 1224 ACM小組的古怪象棋(BFS)

2021-08-04 16:34:15 字數 1035 閱讀 3536

time limit:1000 ms memory limit:131072 kb os:windows

acm小組的samsara和staginner對中國象棋特別感興趣,尤其對馬(可能是因為這個棋子的走法比較多吧)的使用進行深入研究。今天他們又在 構思乙個古怪的棋局:假如samsara只有乙個馬了,而staginner又只剩下乙個將,兩個棋子都在棋盤的一邊,馬不能出這一半棋盤的範圍,另外這 一半棋盤的大小很奇特(n行m列)。samsara想知道他的馬最少需要跳幾次才能吃掉staginner的將(我們假定其不會移動)。當然這個光榮的任 務就落在了會程式設計的你的身上了。

每組資料一行,分別為六個用空格分隔開的正整數n,m,x1,y1,x2,y2分別代表棋盤的大小n,m,以及將的座標和馬的座標。(1<=x1,x2<=n<=20,1<=y1,y2<=m<=20,將和馬的座標不相同)

輸出對應也有若干行,請輸出最少的移動步數,如果不能吃掉將則輸出「-1」(不包括引號)。

8 8 5 1 4 5

這麼水的。。直接bfs就好了。

#include 

#include

#include

#include

#include

#define mem(a,b) memset(a,b,sizeof(a))

using

namespace

std;

const

int maxn=20+5;

int vis[maxn][maxn];

int n,m;

int dx= ;

int dy= ;

struct node

;queue

q;bool check(int x,int y)

int bfs(int x1,int y1,int x2,int y2)

); while(!q.empty()));}

}}

return -1;

}int main()

return

0;}

CSU 1224 ACM小組的古怪象棋

description acm小組的samsara和staginner對中國象棋特別感興趣,尤其對馬 可能是因為這個棋子的走法比較多吧 的使用進行深入研究。今天他們又在 構思乙個古怪的棋局 假如samsara只有乙個馬了,而staginner又只剩下乙個將,兩個棋子都在棋盤的一邊,馬不能出這一半棋盤...

COJ 1224 ACM小組的古怪象棋

大概是以後一定要注意輸入輸出 比如 題目最小給的座標是從 1,1 開始的 那再去判斷是否陣列越界的時候 就需要特別注意了 道理我懂 然後因為這個問題以及在給輸入座標減1的時候 一不小心把m,n也算進去了 然後就炸了我乙個小時 雞今天打rank的第一道也是這樣 拿到題目我考慮到了行 卻沒有考慮到列 炸...

coj 1224 ACM小組的古怪象棋

acm小組的samsara和staginner對中國象棋特別感興趣,尤其對馬 可能是因為這個棋子的走法比較多吧 的使用進行深入研究。今天他們又在 構思乙個古怪的棋局 假如samsara只有乙個馬了,而staginner又只剩下乙個將,兩個棋子都在棋盤的一邊,馬不能出這一半棋盤的範圍,另外這 一半棋盤...