问题 A: 贪婪的礼物送礼者
时间限制: 1 Sec 内存限制: 128 MB
题目描述

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

输入

第 1 行:

人数NP,2<= NP<=10

第 2到 NP+1 行:

这NP个在组里人的名字 一个名字一行

第NP+2到最后:

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

输出

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

样例输入

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

样例输出

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

题意描述:
一些人给一些人送礼,当然送礼的人也会收到一些礼物,问每个人收到的礼物比送出的礼物多多少?
解题思路:
简单的数据结构问题,将收到的礼物和送出去的礼物分别存到两个数组里面最后减一下就行,在写的时候无非是讨论收入和送出礼物两种情况,也就是讨论送出礼物的价值,和收到礼物的人的情况
AC代码:

#include<stdio.h>
#include<string.h>
struct Lnode
{char name[50];int money;int money1;
}s[20];
int main()
{char str[50],str1[50];int i,j,k,num,m,T,u,v;while(scanf("%d", &T)!=EOF){for(i=1; i<=T; i++){scanf("%s", s[i].name);s[i].money=0;s[i].money1=0;}for(i=1; i<=T; i++){scanf("%s", str);scanf("%d %d", &k,&num);for(j=1; j<=T; j++)//找人 {if(strcmp(s[j].name,str)==0){u=j;break;}}if(num==0)//如果没人收礼物那就不用讨论收到//礼物的多少和送出多少礼物continue;else if(k==0)//不送出礼物但是有人收这就要求将//收礼物的人的名字输入不需进行任何其他操作{for(v=1; v<=num; v++)scanf("%s", str1);}else if(k!=0&&num!=0) {s[u].money=k-k%num;for(j=1; j<=num; j++){scanf("%s", str1);for(v=1; v<=T; v++){if(strcmp(str1,s[v].name)==0)s[v].money1+=k/num;}}}   }for(int t=1; t<=T; t++)printf("%s %d\n", s[t].name,s[t].money1-s[t].money);}return 0;
}

【USACO】 贪婪的礼物送礼者相关推荐

  1. 【USACO】贪婪的礼物送礼者

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

  2. 7-2 挑选苹果 (40分)

    果园采摘了n个苹果,分别放在若干个篮筐中.现给出n个苹果所在篮筐的情况,请找出每个篮筐中重量最重的苹果.定义一个苹果类Apple,有编号(id).重量(weight).直径(diameter)成员变量 ...

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

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

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

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

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

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

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

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

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

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

  8. USACO1.1.2|贪婪的送礼者

    又开始做USACO? 反正很水,但是很绕.注意送人剩下的钱不能算得到的. #include<bits/stdc++.h> using namespace std;const int MAX ...

  9. 【USACO training】Chapter 1 入门

    整理的算法模板合集: ACM模板 目录 Section 1.1 介绍 Section 1.2 提交解决方案,任务类型,特殊问题 1.2.1 AcWing 1339. 你的旅途由此开始(字符串模拟) 1 ...

最新文章

  1. jpa批量删除数据_EXCEL批量删除非数值数据,这么多方法你用哪一个?
  2. 基于Android的红外测温设计,基于Android的红外三维重构移动APP设计与实现
  3. [Inside HotSpot] UseParallelGC和UseParallelOldGC的区别
  4. 鸿蒙系统的功能如何,华为鸿蒙系统发布会,这个功能怎么那么像小米MIUI的
  5. java 使用servlet做学生管理系统(无框架)
  6. Java虚拟机内存分配策略
  7. 微软正在开发基于Rust的安全编程语言
  8. 最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...
  9. 2017云栖大会:阿里巴巴宣布成立达摩院
  10. mysql 事务 返回插入的值_深入理解mysql事务:事务机制的实现原理
  11. 二叉查找树之 Java的实现
  12. OpenCV访问像素的三种方法
  13. 【Cocoa(mac) Application 开发系列之二】总结一些常用控件及自定义View
  14. 【Codecs系列】视频格式国际标准:BT601/BT709/BT2020
  15. Visual Studio2019配置备忘
  16. cygwin3下编译redis6.2
  17. JTAG/JLINK
  18. 前端面试题,速看webP,把握住网页提速小细节!亲测可用!
  19. Android获取明天日期
  20. Python与数据库之学员管理系统

热门文章

  1. c语言递归调用次数,C语言中的递归调用
  2. c++类成员函数做函数参数
  3. ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,报symbol lookup error和undefined symbol错误的解决办法
  4. 批量分析德邦物流,查询送达时间与官网同步
  5. 谷歌彩蛋-让搜索结果页面下雪、旋转、倾斜
  6. 九龙证券|算力大基建来了!交易额提高32倍,打造算力南线主干道
  7. 5分钟深入了解margin属性
  8. wordpress的构建——WEB服务器架设(多站点配置)
  9. Web前端发展方向有哪些?可以做什么岗位?
  10. Android--Activity的跳转