codeforces 57A
给定一个边长为n的正方形,给你正方形上的两个点,要你求沿着正方形的边的最短距离。
将正方形拉成一条直线,讨论四条边,就可以得到两个点在这条直线上得到坐标。答案即为min(abs(d1-d2),4*n-abs(d1-d2)) 。
inline void solve()
{int n,x,y,_x,_y;cin>>n>>x>>y>>_x>>_y;int dis1,dis2;if(y==0) dis1=x;else if(y==n) dis1=3*n-x;else if(x==0) dis1=4*n-y;else dis1=n+y;if(_y==0) dis2=_x;else if(_y==n) dis2=3*n-_x;else if(_x==0) dis2=4*n-_y;else dis2=n+_y;int ans=min(abs(dis1-dis2),4*n-abs(dis1-dis2));cout<<ans<<endl;
}