7-4 看到草原上奔跑的马儿了吗?

7-4 看到草原上奔跑的马儿了吗?
看到草原上奔跑的马儿了吗?
描述:

我已经爱上这片森林了。

你喜欢大海,我喜欢你。

Thematrix233看着这诗意的文字,心中十分高兴。这两句诗让他联想到了草原上飞奔的马儿。此时,Thematrix233心中突然想到一个疑问:如果给马儿一个足够大的草原,马儿去一个地方最短的时间是多少?他去向Codeoos询问这个问题。但是Codeoos只会在象棋棋盘上得到答案——但是这就够了!问题又来了:Codeoos只会研究标准棋盘的情况,一个很大的棋盘太大了,Codeoos算不出来。请你帮助Codeoos算出来马从原点跳到给定的点最少需要走几步?

(Tip:马在棋盘上走日字形,即一个(0,0)位置的马可以一步跳到的位置分别为(1,2),(2,1),(1,−2),(2,−1),(−1,2),(−2,1),(−1,−2),(−2,−1))。
输入格式:

第一行包括一个数T(1≤T≤100000),表示数据组数。

接下来有T行,每行两个数(x​′​​,y​′​​)(0≤x​′​​,y​′​​≤1e3),表示马要去的点的位置。(马每次从(0,0))开始跳。

保证不会出现x​′​​=y​′​​=0的情况。马可以跳到坐标为负数的位置。
输出格式:

输出T行,每行一个整数表示马跳到(x​′​​,y​′​​)需要的最小步数。
输入样例:

3
1 2
2 2
5 5

输出样例:

1
4
4

#include<cstdio>
#include<queue>
#include<string.h>
#include<string>
#include<map>
#include<deque>
#include<vector>
#include<iostream>
#include<utility>
using namespace std;
struct Point{
	int first,second;
	Point(int a,int b):first(a),second(b){}
	Point(){}
};
int mp[1005][1005];
bool flag[1003][1003];
int main(){	
	int T,a,b;
	int dir[]={1,2,2,1,1,-2,2,-1,-1,2,-2,1,-1,-2,-2,-1};
	queue<Point>q;
	Point nowP,nextP;
	memset(flag,0,sizeof(flag));
	q.push(Point(0,0));
	flag[0][0]=1;
	while(!q.empty()){
		nowP = q.front();
		q.pop();
		for(int i = 0;i<8;i++){
			nextP=Point(nowP.first+dir[2*i],nowP.second+dir[2*i+1]);
			if(nextP.first>0&&nextP.second>0&&nextP.first<=1003&&nextP.second<=1003&&!flag[nextP.first][nextP.second]){
				mp[nextP.first][nextP.second]=mp[nowP.first][nowP.second]+1;
				q.push(nextP);
				flag[nextP.first][nextP.second]=1;
			}
		}
	}
	scanf("%d",&T);
	while(T--){
		scanf("%d%d",&a,&b);
		printf("%d\n",mp[a][b]);
	}	
	return 0;
}
1. 马儿身姿矫健,蹄声铿锵,如风驰骋于草原。 2. 恍若仙马的威严,梳妆着宏伟的鬃尾,世间少有的美景。 3. 名驹走地,疾驰于烈风之中,留下滤过河谷的浪花。 4. 与马共舞,见证阳光下的婚礼。它们双双穿过稻田和麦田。 5. 马儿肆意驰骋于大地之上,芳草香气拂面而来,恍若梦一般的仙境。 6. 马儿犹如天马行空,挥洒间流露出的灵动和儒雅,即使在漫长卷曲的河流中也别具魅力。 7. 赤壁铁马,关山雪马,犹如画卷之中的传世佳作。 8. 翱翔于碧空之中,追赶天边夕阳,展示着气势磅礴的魅力。 9. 以闪电般的速度在沙漠之中奔跑,在流沙中留下深深的足印。 10. 如流星划破夜空,撕裂黑夜的咆哮,留下沉静如镜的湖面。 11. 马儿身姿婉约,优雅如玉,轰轰烈烈驰闯于大地。 12. 品种各异的好马,展露出不同的威武和灵动,是人类最得力的伙伴。 13. 伴随着马蹄声,穿行于怪石嶙峋的山林道路,那是一段美妙的旅程。 14. 马儿犹如神龙,挥舞四肢,展示出无限的豪迈和力量。 15. 那是美景中最美的一道风景,马儿的背影随着时光飘逝,深深扎根于心中。 16. 伫立于悬崖之上,远眺黑石之间那匹奔马,拂动着碧波,如画一般的天堂之境。 17. 马儿身姿优雅,跃跃欲试地等待着下一个冒险,它们是永远冒险的勇士。 18. 轻飘的夜雪中,马儿驰骋于冰天雪地之中,如此遥远,如此美妙。 19. 马儿展现出勃勃生机,哪怕身骑金戈,犹如展翅的猎鹰,准备冲向远方。 20. 在夕阳下,马儿狂奔,如履平地,丝毫不惧万物的荒芜,风中那抹美丽的身影,仿若天籁之音。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值