F - K-hour Clock
基本信息
题目出处 | 2019 陕西省大学生程序设计竞赛 |
队伍通过率 | 98/111 (88.3%) |
题解
分类讨论。
- 如果 \(x + y = z\),那任何 \(k > z\) 都可以。
- 如果 \(x \le z\) 且 \(x + y > z\),说明至少过了一天。因为只需要求出一个可行解,而必须有 \(k > x\) 以及 \(k > z\),那么 \(k\) 越大越好。所以我们就当作只过了一天,直接检查 \(k = y - (z - x)\)。
- 如果 \(x > z\) 说明跨过了 \(0\) 点,那么必须有 \(y > z\)。同上所述,\(k\) 越大越好,所以我们就当作过了还不到一天,直接检查 \(k = x + (y - z)\)。
参考代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|