escription

对于一群要互送礼物的朋友,TRW要确定每个人送出的钱比收到的多多少。在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱。给出一群朋友, 没有人的名字会长于 14 字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表,请确定每个人收到的比送出的钱多的数目。

Input

第 1 行: 人数NP,2<= NP<=10 第 2到 J+1 行:这NP个在组里人的名字 一个名字一行 第J+2到最后: 这里的I段内容是这样组织的: 第一行是将会送出礼物人的名字。 第二行包含二个数字: 第一个是原有的钱的数目(在0到2000的范围里),第二个 NGi 是将收到这个人礼物的人的个数 如果 NGi 是非零的, 在下面 NGi 行列出礼物的接受者的名字,一个名字一行。

Output

输出 NP 行 每行是一个的名字加上空格再加上收到的比送出的钱多的数目。 对于每一个人,他名字的打印顺序应和他在输入的2到NP+1行中输入的顺序相同。所有的送礼的钱都是整数。 每个人把相同数目的钱给每位要送礼的朋友,而且尽可能多给,不能给出的钱算进送礼者本人收入部分。

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

Sample Output

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

思路:首先每个人的金钱为0,然后开一个数组记录每个人的送出的钱,然后计算收到的金钱减去送出的金钱即可

#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <string>
#include <queue>
#include <stack>
#include <map>
#include <set>typedef long long LL;
const long long INF = 0x3f3f3f3f;
const long long mod = 1e9+7;
const double PI = acos(-1.0);
const int dir4[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
const int dir8[8][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};
const int maxx = 100010;
using namespace std;
struct student
{char name[20];int coin;
};
int main()
{student st[20];int n,n1,re[20];char nm[20];cin>>n;n1=n;for(int i=0; i<n; i++){cin>>st[i].name;st[i].coin=0;re[i]=0;}while(n1--){cin>>nm;int money,num,avg,sum;for(int i=0; i<n; i++){if(!strcmp(nm,st[i].name)){cin>>money>>num;re[i]=money;if(money==0&&num==0)break;avg=money/num;sum=st[i].coin+money-avg*num;st[i].coin=sum;for(int j=0; j<num; j++){cin>>nm;for(int k=0; k<n; k++){if(!strcmp(nm,st[k].name)){st[k].coin+=avg;break;}}}break;}}}for(int i=0; i<n; i++)cout<<st[i].name<<" "<<st[i].coin-re[i]<<endl;return 0;
}

1.1.2 Greedy Gift Givers 贪婪的送礼者相关推荐

  1. USACO Training Section 1.1 贪婪的送礼者Greedy Gift Givers

    P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers 题目描述 对于一群(NP个)要互送礼物的朋友,GY要确定每个人送出的钱比收到的多多少.在这一个问题中,每个人都准备了一 ...

  2. 贪婪的送礼者Greedy Gift Givers [USACO 1.2]

    贪婪的送礼者Greedy Gift Givers [USACO 1.2]题目描述: 有一群(N个)要互送礼物的朋友,现在要确定每个人送出的钱比收到的钱多多少.每个人都准备了一些钱来送礼物,而这些钱将会 ...

  3. Greedy Gift Givers

    原题地址 Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange g ...

  4. USACO题解——Section 1.2——Greedy Gift Givers

    题目地址:https://train.usaco.org/usacoprob2?a=BGOMbIJsisd&S=gift1. 或者我的OJ网站,http://47.110.135.197/pr ...

  5. [USACO1.1]贪婪的送礼者Greedy Gift Givers

    题目描述 对于一群(NP个)要互送礼物的朋友,GY要确定每个人送出的钱比收到的多多少.在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人.然而,在任何一群朋友中 ...

  6. USACO1.1.2 - Greedy Gift Givers

    贪婪礼品送货员 一组NP(2≤NP≤10)唯一命名的朋友决定交换礼物的钱.这些朋友中的每一个可能或可能不会给任何或所有其他朋友一些钱.同样,每个朋友可能或可能不从任何或所有其他朋友接收钱.你在这个问题 ...

  7. USACO Section 1.2 Greedy Gift Givers (简单查找)

    2018-3-25 changed 题目大意就是说我们要互相 " 送钱 " ,一共NP个人,指定某一个人将sum这么多的钱分给num个人,那么这些人每个人多了sum/num,送钱的 ...

  8. YTU ---1402-Greedy Gift Givers 贪婪的送礼者

    1402: 1.1.2 Greedy Gift Givers 贪婪的送礼者 Time Limit: 1 Sec   Memory Limit: 64 MB Submit: 31   Solved: 1 ...

  9. 贪婪的送礼者(洛谷P1201题题解,Java语言描述)

    题目要求 P1201题目链接 分析 真是贪婪的送礼者--醉了-- 我们应该先读一下有几个人.再建立HashMap,其优势很明显:快速查找+编码简单. 毕竟我们读一读题给的测试用例,给的人名是:dave ...

  10. Greedy Gift Takers

    Farmer John's nemesis, Farmer Nhoj, has N cows (1≤N≤105 ), conveniently numbered 1...N .They have un ...

最新文章

  1. 深度分析define预处理指令
  2. pushState 和 replaceState
  3. iOS 14.5来了!除了新功能,苹果还要让用户掌控自己的隐私数据
  4. Leetcode每日一题:197.rising-temperature(上升的温度)
  5. java回收内存_JAVA之内存回收
  6. 自学python考哪些证书-自学python找什么书?
  7. 控制反转与依赖注入概述——Spring IOC/DI(一)
  8. 使用Animation编辑器编辑动画
  9. Linux 上如何清除 RAM 内存高速缓存,缓存和交换空间
  10. python毕业设计项目源码选题(14)校园失物招领系统毕业设计毕设作品开题报告开题答辩PPT
  11. IT公司聘用应届生的标准是什么?到底看中应届生的什么?
  12. 算法 图8 How Long Does It Take
  13. Cyberdog——小米四足机器人测评
  14. henauOJ055(猴子吃桃)
  15. 圆圈中最后剩下的数字 ----《剑指offer》面试题45
  16. 企业微信实现多开C++逆向
  17. 使用批处理恢复被病毒隐藏的文件和目录
  18. jquery事件代理
  19. 【Todo】【转载】深度学习神经网络 科普及八卦 学习笔记 GPU SIMD
  20. 外汇交易员必读:使用EA做外汇要注意的细节,尤其第三点

热门文章

  1. Java第十九天(字节流和字符流转换、打印流、Properties类)
  2. 利用OpenSSL创建自签名的SSL证书备忘
  3. 阿里巴巴Android开发手册V1.0.0随手笔记
  4. Maven具体解释之------maven版本号管理
  5. hdu 2037 这个夏天不AC (java)
  6. GEF: 图形拖拽处理
  7. 使用用VMware Workstation   实现DNS服务器之间的委派和区域传送
  8. 是不让页面重新渲染元素~·
  9. IC卡读写器VB.NET源代码
  10. One Web MKey