题解:P11062 【MX-X4-T2】「Jason-1」加法
分讨,比赛的时候想了 20min,感觉黄虚高?
\rm 27pts
a,b\ge 1
上文已提。
a,b\le0
和两数大于
为什么这么说?因为结果终究为正数,两负数相减的绝对值等于两负数的绝对值相减的绝对值。
至于累加,因为是负数,在不考虑正负情况下与情况一一样。
只要注意加绝对值。
a\times b<0
这个就很神奇了:对于此情况,所有结果都为
其实相当于只要能找到一个数
此时将一个数赋为
满分代码
#include <bits/stdc++.h>
#define rty printf("Yes\n");
#define RTY printf("YES\n");
#define rtn printf("No\n");
#define RTN printf("NO\n");
#define rep(v,b,e) for(int v=b;v<=e;v++)
#define repq(v,b,e) for(int v=b;v<e;v++)
#define rrep(v,e,b) for(int v=b;v>=e;v--)
#define rrepq(v,e,b) for(int v=b;v>e;v--)
#define stg string
#define vct vector
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
void solve() {
ll a, b;
cin >> a >> b;
if (a < b) swap(a, b);
if (a * b >= 0) cout << min({abs(a), abs(b), abs(a - b)}) << endl;
else {
cout << 0 << endl;
}
}
main() {
int t; cin >> t; while (t--) solve();
return 0;
}
AC 记录。