#CF2082B. 向下取整或向上取整
向下取整或向上取整
B. 向下取整或向上取整
每次测试的时间限制:1 秒
内存限制:512 MB
Ecrade 有一个整数 。有两种操作:
- 将 替换为 ,其中 是小于等于 的最大整数(向下取整)。
- 将 替换为,其中 是大于等于 的最小整数(向上取整)。
Ecrade 将会恰好执行 次第一种操作和 次第二种操作,操作的顺序可以任意安排。
他想知道,经过 次操作后, 可能的最小值和最大值分别是多少。
不过这个问题似乎有点难,所以请你来帮帮他!
输入
每个测试点包含多个测试用例。
第一行包含一个整数(),表示测试用例的数量。
接下来每个测试用例一行,包含三个整数 ()。
输出
对于每个测试用例,在一行中输出两个整数,分别表示经过 次操作后 可能的最小值和最大值。
示例
输入:
5
12 1 2
12 1 1
12 0 0
12 1000000000 1000000000
706636307 0 3
输出:
1 2
3 3
12 12
0 0
88329539 88329539
提示
为简单起见,我们称第一种操作为 操作 1(向下取整),第二种操作为 操作 2(向上取整)。
-
第一个测试用例:
若依次执行:$12 \xrightarrow{\text{操作 2}} 6 \xrightarrow{\text{操作 2}} 3 \xrightarrow{\text{操作 1}} 1$,得到最小值 。
若依次执行:$12 \xrightarrow{\text{操作 2}} 6 \xrightarrow{\text{操作 1}} 3 \xrightarrow{\text{操作 2}} 2$,得到最大值 。 -
第二个测试用例:
无论顺序如何,结果都是 。 -
第三个测试用例:
没有操作,结果保持为。 -
第四个测试用例:
操作次数非常多,最终会归零。 -
第五个测试用例:
只做向上取整操作,最终结果是固定的。