[USACO][PROB] Section 1.1 Greedy Gift Givers

貪心的送禮者

翻譯 by 羔羊 許胖

對於各自擁有獨特人名的一群人 (人數有 NP 個,$2\leq{NP}\leq{10}$),他們決定以錢當交換的禮物。每個人可能送給其他幾個人禮物 (也可能不送),同樣地每個人也有可能收到數個禮物 (也有可能沒收到)。你的目標是要找出每個人送出的錢比收到的多多少。

在這個問題中,每個人都準備一些錢來送禮物,他們會盡可能平分這些錢給受禮者。這些錢不會被分割為小數點,而多出來的錢將會留在送禮者身上。

對於有些人,收到的錢可能會比送出的還要多,而有些人反而送出的錢比收到的多。

給定一群人,任一名字長度不超過 14 字元,每個人送禮的錢將會被列出,請確定有多少人送出的錢比收到的多。

重要訊息

測試系統規格符合 Linux 標準 Unix 協定:對於每一行以字元 '\n' 做為結束。與 Windows 系統不同的是,Windows 系統以 '\n''\r' 做為結束,請不要被這困擾著!

名稱:gift1

輸入格式

第 1 行一個簡單的整數 NP 做為人數
第 2 至 NP + 1 行每行包括一個名字
第 NP + 2 行至最後有 NP 組內容:
每組第 1 行為送禮人的名字。
第 2 行包含兩個數字:第一個整數代表錢 (值介於 0 ~ 2000),第二個整數 NGi 代表受禮人的個數 (0 <= NGi <= NP - 1),如果 NGi 的值非零,則接下來 NGi 行將列出受禮者的名字。

範例輸入 (檔案 gift1.in)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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

輸出格式

輸出有 NP 行,對於每行輸出一個人名以及收到的錢減掉送出錢的差值,中間以一個空格隔開。輸出人名的順序與輸入的順序相同。

所有禮物內的錢皆為整數。對於每個受禮者將收到相同的錢,而多餘的錢將會被送禮者保留。

範例輸出 (檔案 gift1.out)

1
2
3
4
5
dave 302
laura 66
owen -359
vick 141
amr -150
,