P1639 题解
Iggle_Piggle · · 题解
题传
这是一道贪心题。
从起点到终点和从终点到起点是等效的,所以视两者为端点。
设端点
不妨求从
设想,若要使用传送门,则一定是从
采用反证法,假设
因为
所以,若要使用传送门,则一定是从
最后我们算答案就从用传送门和不用传送门中,花费距离取最小即可,也即
#include<bits/stdc++.h>
using namespace std;
int a, b, c, d;
signed main()
{
scanf("%d%d%d%d", &a, &b, &c, &d);
if(a > b) a ^= b ^= a ^= b;
if(c > d) c ^= d ^= c ^= d;
printf("%d", min(b - a, abs(c - a) + abs(d - b)));
return 0;
}