2010年8月25日 星期三

119 - Greedy Gift Givers

The Problem

有一群會互相贈送禮物的朋友,每次收到與送出禮物的價值皆不同,本題要來計算每個人損益情形。

本題中每人都設定一筆買禮物的預算,預算會平均分配買等值的禮物送給他的朋友們。

然而,任何小團體中總有一些人比較慷慨(或是與其他的的關係比較好),也總有一些人比較有錢。

給你一群朋友的資料,包含每人買禮物的預算,及禮物會送給那些朋友。你必須寫一個程式來計算每個人的損益情形。

The Input

輸入會有多組測試資料表示每個小團體,資料如下:

  • 小團體的人數。
  • 小團體中每人的名字。
  • 接下來的每一列會有每位送禮人的名字、禮物的總預算、送禮的人數、送出禮物給那些朋友。

所有名字皆以小寫字元表示,每個團體最多不會超過10個人,而名字的長度最多不會超過12個字元,預算的數目為小於2000的非負整數。

輸入會有許多小團體的資料,並以EOF結束。

The Output

請依序在每一列輸出每人的姓名及其淨利(或淨損),輸出的順序請依照他們在輸入中出現的順序。

不同團體之間必須有一空行格開。每個禮物的價值一定是整數,預算會平均分配買等值禮物送給朋友,預算會儘可能地花完除非有除不盡的餘數,剩餘的錢就當做自已的淨利留下來。

Sample Input

5
dave laura owen vick amr
dave 200 3 laura owen vick
owen 500 1 dave
amr 150 2 vick owen
laura 0 2 amr vick
vick 0 0
3
liz steve dave
liz 30 1 steve
steve 55 2 liz dave
dave 0 2 steve liz

Sample Output

dave 302
laura 66
owen -359
vick 141
amr -150

liz -3
steve -24
dave 27

原文出處

沒有留言:

張貼留言