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又只剩下乙個將,兩個棋子都在棋盤的一邊,馬不能出這一半棋盤的範圍,另外這 一半棋盤...