问题 4639 --三个人的石头剪子布

4639: 三个人的石头剪子布

时间限制: 1 Sec  内存限制: 256 MB
提交: 0  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

  Saga、xyjian和byron因为参加校队的缘故成为了非常要好朋友。为了增进交流,他们经常外出聚餐。这一次,他们在北门的双福源吃晚饭该结账的时候,三个人都声称自己没有带钱包,于是就僵持起来。在看着这三个家伙喝了半个小时的免费茶水之后,服务员终于按捺不住怒气冲冲地跑过来催他们结账。眼看着就要引起公愤,聪明的byron同学想出了一个办法——石头剪子布。以往的石头剪子布都是两个人玩,三个人玩的话就需要重新推广规则,聪明的byron同学说了规则:   1)当三个人无法决定胜负(石头vs.石头vs.石头、石头vs.剪子vs.布)时,三个人均摊费用;   2)当三个人中有一个大于另两个(布vs.石头vs.石头)时,这两个人均摊费用;   3)当三个人中有两个大于另一个(布vs.布vs.石头)时,这一个人独立承担费用。   眼看着老板娘拿着扫把和账单过来了,情况紧急,他们决定一次定输赢……

输入

  现在,给你一个正整数N∈(0, 65536],单独占一行,代表下面的输入中有N行输入实例,即N次石头剪子布。输入中用1代表“石头”、2代表“剪子”和3代表“布”。   在每一行的石头剪子布输入实例中,将给出4个数,每两个数之间用一个空格间隔。前三个数(从{1,2,3}中取)代表三个人出的是什么;第四个为一正整数C(可以被6整除),代表账单上的总金额。

输出

  要求你的程序按照输入次序依次输出每个输入实例中,三个人需要各承担多少费用,每行对应一个输入实例。输出数值为三个正整数,且之间以单个空格隔开,行末无空格。

样例输入

4
1 1 1 6
1 2 3 6
1 1 2 6
1 2 2 6

样例输出

2 2 2
2 2 2
0 0 6
0 3 3

来源

[提交][状态]