[Problem] USACO 1.1.2 - Greedy Gift Givers
[URL] http://ace.delos.com/usacoprob2?a=S95TFRgcK4B&S=gift1
[General Description]
有一群朋友要互送礼物。他们每个人都准备了钱用来送礼,并且这些钱将会被平均用于那些将要收到他的礼物的人。然而在这群人中,有些人要送出较多的礼物,有些人准备了较多的钱。给出每个人的名字、总资金和送礼目标的列表,确定每个人收到的礼物价值比送出去的钱多的数目。
[Keypoints]
"Ad-hoc" solution;Usage of struct/record
[Analysis]
简单题目,用结构体可以很方便的解决。
令数组get和give分别代表每个人的收入和支出,用数组name记录每个人的名字。对于每个送礼人i,查找他的送礼目标j,那么有:
get[j]=get[j]+give[i]/N ...(1)
其中N代表i的所有送礼目标j的数目。
而后有:get[i]=get[i]+give[i]%N ...(2)
输出get[i]-give[i]即为结果。
[Source Code]
PASCAL,see Code category.
[Appendix]
在这里贴的第一个题目居然是USACO水题...还是Pascal码...有点高中生感觉啊=。=||
浙公网安备 33010602011771号