[SNCPC2019] K-hour Clock题解
RedStoneShark · · 题解
[SNCPC2019] K-hour Clock题解
思路:分类讨论
-
如果
x+y=z ,那么任何k>z 都可以。 -
如果
y \le z ,那么就不能从x 到z 。 -
如果
x+y\le z \times 2 ,那么不能过一天后到达z 点。 -
否则就都输出
x+y-z ,表示只过了一天,或者还不到一天。
那么,代码就很简单了:
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int, int> PII;
signed main() {
const int mod = 1e9 + 7;
int T;
cin >> T;
while (T--) {
int x, y, z;
cin >> x >> y >> z;
int cha = x + y - z;
if (!cha)
cout << z + 1 << endl;
else if (y <= z || x + y <= z + z)
cout << -1 << endl;
else cout << cha << endl;
}
return 0;
}
这题为什么只有满分五十啊喂~