6501: 拖拉机(tractor)

Memory Limit:512 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:889 Solved:363

Description

        欢乐谷是企鹅公司开发的一个棋牌类益智游戏平台,玩家第一次进平台时,企鹅公司会发给每个玩家一定数量的欢乐豆,欢乐豆是企鹅公司最基本使用的道具之一,可用来玩平台上的各种游戏,属于一种游戏中的虚拟货币。

欢乐谷既有围棋、象棋、桥牌等烧脑游戏,也有80分升级(俗称拖拉机)这种广受欢迎的雅俗共赏的经典牌类游戏,该游戏由两副牌四个人玩,分为两个阵营,1号玩家和3号玩家为一个阵营,2号玩家和4号玩家则组成另一个阵营。发牌逆时针进行,牌的大小区分简单,主牌大于副牌,主牌中大小王最大。出牌时需按照规则出对子或拖拉机等,尽量出大牌得分。庄家需保住底牌,最后如果被撬底则得分翻番,具体翻几番要看撬底是单张、对子、拖拉机。玩家需注意对手的牌,尽量让对手得分不超过80分。

80分升级有一套复杂的结算规则,首先根据出牌中拖拉机的出现次数、得分情况和撬底番数,得出最终的应胜豆和应输豆,应胜豆等于应输豆。一局开始前四位玩家的欢乐豆数量是已知的,假设1号玩家和3号玩家取得胜利,应胜豆为180欢乐豆,则一局升级下来1号玩家和3号玩家的欢乐豆都将增加180颗, 2号玩家和4号玩家的欢乐豆都将减少180颗,但实际情况往往不会这么理想,如果2号玩家欢乐豆不足180颗,则2号玩家输光所有欢乐豆,1号玩家和3号玩家平分赢得的欢乐豆,前提是开局前的欢乐豆的数量要不小于赢得的欢乐豆数量。具体的结算规则如下:

假设四位玩家游戏开始前的欢乐豆数量用ABCD表示,应输豆用E表示,并且胜方为1号玩家和3号玩家,min函数为求两数最小值函数,如min(3,5)=3

1、计算负方理论上的总输豆F,本条规则中的输豆均为理论上的输豆的简称,F=2号玩家输豆+4号玩家输豆,其中2号玩家输豆=min(B,E)4号玩家输豆=min(D,E)

2、计算胜方最终胜豆,假设F肯定是偶数,则1号玩家最终胜豆=min(A,F/2)3号玩家最终胜豆=min(C,F/2)

3、输豆返还,如果min(A,F/2)+min(C,F/2)<F,则胜方并没有瓜分完负方理论上的总输豆,此时要把胜方分剩下的欢乐豆返还给输家,返还规则为先返还给输方中输得多的一方,直到返还完或两家输方输的欢乐豆同样多,然后将未返还完的欢乐豆平分给两家输方。具体细节见样例3的解释。

现在企鹅公司找到你,要你写一个80分升级的结算程序。为了简单起见,假设胜方永远是1号玩家和3号玩家。

Input

输入数据仅有一行包含5个用空格隔开的正整数,分别表示A,B,C,D,E5个数一定都是8的倍数。

Output

输出数据仅有一行包含4个正整数,表示一局结束后四家的欢乐豆数量,相邻两数严格用一个空格隔开。

Sample Input Copy

样例输入1
2400 2400 1000 2000 800
样例输入2
6400 4000 3600 20000 4800
样例输入3
20000 6600 3200 9736 9600

Sample Output Copy

样例输出1
3200 1600 1800 1200
样例输出2
10800 0 7200 16000
样例输出3
28100 950 6400 4086

HINT

样例解释

对于样例1

四家开始前的欢乐豆数量均大于应输豆,应输为800,则根据规则12不难算出,胜方每家增加800欢乐豆,输方每家减少800欢乐豆

对于样例2

应输豆E=4800,则根据规则12号玩家输豆=min(B,E)=min(4000,4800)=40004号玩家输豆=min(D,E)=min(20000,4800)=4800,总输豆F=2号玩家输豆+4号玩家输豆=4000+4800=8800F/2=4400

再根据规则2算出,1号玩家最终胜豆=min(A,F/2)=min(6400,4400)=44003号玩家最终胜豆=min(C,F/2)=min(3600,4800)=3600

胜方总共赢得8000欢乐豆,少于总输豆,此时要把余下的800欢乐豆返还输家,根据规则3:由于4号玩家输得多,则先返还给4号玩家,恰好把800欢乐豆全部返还给4号玩家,此时两家输方输得一样多,返还结束,最终1号玩家欢乐豆增加44003号玩家欢乐豆增加3600,两家输方输各输4000欢乐豆。

对于样例3

应输豆E=9600,则根据规则12号玩家输豆=min(B,E)=min(6600,9600)=66004号玩家输豆=min(D,E)=min(9736,9600)=9600,总输豆F=2号玩家输豆+4号玩家输豆=6600+9600=16200F/2=8100

再根据规则2算出,1号玩家最终胜豆=min(A,F/2)=min(20000,8100)=81003号玩家最终胜豆=min(C,F/2)=min(3200,8100)=3200

胜方总共赢得11300欢乐豆,少于总输豆,此时要把余下的4900欢乐豆返还输家,根据规则3:由于4号玩家输得多,则先返还给4号玩家3000欢乐豆,此时两家输方输得一样多,还余1900欢乐豆平均返还给两家输方各950欢乐豆,最终1号玩家欢乐豆增加81003号玩家欢乐豆增加3200,两家输方输各输5650欢乐豆。

数据范围

本题共有10个测试点,每个测试点10分。

对于所有测试点:输入数据均不超过10^9,且每个数都是8的倍数。

对于测试点1:输入的5个数相等。

对于测试点2-4:结算时不会用到规则3

对于测试点5-7:结算时会用到规则3,但输豆只会返还一家。