• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

题解 CF1428A 【Box is Pull】

开发技术 开发技术 4天前 9次浏览

通过理解题意,我们发现:

当需要拐弯的时候,兔子需要先走回箱子的位置,再走向拐弯的方向。则拐弯操作的花费为 (2) 。而直行的操作花费为 (1)

所以,

如果不需要拐弯,也就是 (x1=x2)(y1=y2) 时,直接计算花费。

如果需要拐弯,也就是 (x1neq x2)(y1neq y2) 时,计算花费后再加2。

//AC代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int sx,sy,nx,ny,T,ans;
int main()
{
	scanf("%d",&T);
	while(T--){
		scanf("%d%d%d%d",&sx,&sy,&nx,&ny);
		if(sx!=nx&&sy!=ny){
			ans=abs(nx-sx)+abs(ny-sy)+2;
		}
		else ans=abs(nx-sx)+abs(ny-sy);
		printf("%dn",ans);
	}
	return 0;	
} 

喜欢 (0)