题目描述
偏远的小镇上,三兄弟共同经营着一家小型矿业公司“兄弟矿业”。公司旗下有三座矿山:金矿、银矿和铜矿,它们的初始产值分别用非负整数 $A$、$B$ 和 $C$ 表示。这些矿山的产出是小镇经济的核心,支撑着三兄弟和许多矿工家庭的生计。
然而,各矿山的产值波动剧烈,有时金矿收益高而银矿、铜矿低迷,有时则相反。这种不稳定性让公司收入难以预测,也常引发兄弟间的争执。为了稳定经营,三兄弟设计了一个公平的产值调整策略,每年执行一次,每次调整时,将根据当前的产值 $A$、$B$、$C$,计算新产值:
1. 金矿新产值:$A'=\lfloor \dfrac{B+C}{2} \rfloor$;
2. 银矿新产值:$B'=\lfloor \dfrac{A+C}{2} \rfloor$;
3. 铜矿新产值:$C'=\lfloor \dfrac{A+B}{2} \rfloor$;
其中,$\lfloor \rfloor$ 表示向下取整。例如,$\lfloor 3.7\rfloor = 3$,$\lfloor 5.2\rfloor = 5$。
计算出 $A'$、$B'$、$C'$ 后,同时更新:$A$ 变为 $A'$,$B$ 变为 $B'$,$C$ 变为 $C'$,作为下一年调整的基础。
三兄弟认为这个方法能平衡产值波动,于是计划连续执行 $K$ 次调整。现在,请你帮他们计算,经过 $K$ 次调整后,金矿、银矿和铜矿的产值分别是多少。
输入格式
输入的第一行包含一个整数 $T$,表示测试用例的数量。
接下来的 $T$ 行,每行包含四个整数 $A,B,C,K$,分别表示金矿、银矿和铜矿的初始产值,以及需要执行的调整次数。
输出格式
对于每个测试用例,输出一行,包含三个整数,表示经过 $K$ 次调整后金矿、银矿和铜矿的产值,用空格分隔。
样例输入 #1
2
10 20 30 1
5 5 5 3
提示
#### 【评测用例规模与约定】
- 对于 $30\%$ 的评测用例,$1 \leq T \leq 100$,$1 \leq A, B, C, K \leq 10^5$。
- 对于 $100\%$ 的评测用例,$1 \leq T \leq 10^5$,$1 \leq A, B, C, K \leq 10^9$。
来源
第十六届蓝桥杯大赛软件类省赛第一场C/C++大学B组