P9581 题解

题目传送门

思路

这题我们可以分情况讨论:

  1. 如果 aabb 在原点的同一边(即 aabb 同正或同负),则可以先走近的,再走到远的点;
  2. 如果 aabb 在原点的不同边,则可以先走近的,再走回原点,最后走到远的。

代码

# include <bits/stdc++.h>
using namespace std;
int a, b;
int main () {
	cin >> a >> b;
	if (a >= 0 && b >= 0 || a <= 0 && b <= 0) //第 1 种情况
		cout << max (abs (a), abs (b));
	else
		cout << abs (a) + abs (b) + min (abs (a), abs (b)); //第 2 种情况
	return 0;
}
posted @ 2023-08-26 23:10  Vitamin_B  阅读(8)  评论(0)    收藏  举报  来源