输入四个数后,开始我们的推理。
1.首先我们可以先定义两个整型变量,一个变量储存不用传送门所要走的距离,另一个变量则是储存用传送门要走的距离。
2.不用传送门就是求a和b的绝对值,也就是abs(b-a)
。
3.用传送门就是求走到传送门以及出了传送门所要走的距离,这时候我们要考虑到两种情况,一种是a
到y
进传送门比较近还是a
到x
进传送门比较近(也用绝对值),就可以用一个比较函数来解决。
4.定义的两个整型变量进行比较,看看是用传送门比较近还是不用传送门比较近,我这里用了一个if
语句进行比较输出。然后就OK啦~
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n(int a,int b)
{
return a<b?a:b;//比较函数,返回比较小的那个数
}
int main()
{
int a,b,x,y;
cin>>a>>b>>x>>y;
int ans1,ans2;
ans1=abs(b-a);//不用传送门的距离
ans2=n(abs(a-y)+abs(b-x),abs(a-x)+abs(b-y));//要用传送门的距离
if(ans1<ans2)
cout<<ans1;
else cout<<ans2;
}