usaco 1-1-2 Greedy Gift Givers
来源:互联网 发布:心动网络面试题 编辑:程序博客网 时间:2024/05/23 22:32
usaco 持续更新中。
nocow友情翻译:
描述
对于一群NP(2<=NP<=10)个要互送礼物的朋友,GY要确定每个人送出的钱比收到的多多少。 在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。 然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱。 给出一群朋友,没有人的名字会长于 14 字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表, 请确定每个人收到的比送出的钱多的数目。
[编辑]格式
PROGRAM NAME: gift1
INPUT FORMAT:
(file gift1.in)
- 第 1 行: 人数NP,2<= NP<=10
- 第 2 行 到 第NP+1 行:这NP个在组里人的名字 一个名字一行
- 第NP+2到最后:
这里的I段内容是这样组织的:
- 第一行是将会送出礼物人的名字。
- 第二行包含二个数字: 第一个是送出的钱的数目(在0到2000的范围里),第二个 NGi 是将收到这个人礼物的人的个数 如果 NGi 是非零的, 在下面 NGi 行列出礼物的接受者的名字,一个名字一行。
OUTPUT FORMAT:
(file gift1.out)
输出 NP 行
每行是一个的名字加上空格再加上收到的比送出的钱多的数目。
对于每一个人,他名字的打印顺序应和他在输入的2到NP+1行中输入的顺序相同。所有的送礼的钱都是整数。
每个人把相同数目的钱给每位要接受礼物的朋友,而且尽可能多给,不能给出的钱(即无法被整除的钱)由送礼者本人持有。
[编辑]SAMPLE INPUT
5davelauraowenvickamrdave200 3lauraowenvickowen500 1daveamr150 2vickowenlaura0 2amrvickvick0 0
[编辑]SAMPLE OUTPUT
dave 302laura 66owen -359vick 141amr -150
分析:此题也是字符串处理,因为每次都需找人的名字,需有strcmp这函数来进行查找(不熟的同学问度娘吧),然后弄几个数组记录钱即可!
上代码
/*ID:jwb11931LANG:C++TASK:gift1*/#include<stdio.h>#include<string.h>#include<stdlib.h>char a[100][100],b[100],x[100];int c[100][2],d[100];int main(){int i,j,n,w,k,m;freopen("gift1.in","r",stdin);freopen("gift1.out","w",stdout);scanf("%d",&n);for(i=0;i<n;i++){//字符串都从零开始,注意scanf("%s",a[i]);}for(i=0;i<n;i++){j=0;w=0;scanf("%s",b);while(strcmp(a[j],b))j++;//每次都得找到他,才能修改。如果a[j]相当于b串,strcmp函数会返回1,此时while终止,于是找到。scanf("%d %d",&c[j][0],&c[j][1]);if(c[j][1]!=0){w=c[j][0]/c[j][1];d[j]+=c[j][0]-w*c[j][1];for(k=0;k<c[j][1];k++){m=0;scanf("%s",x);while(strcmp(a[m],x))m++;d[m]+=w;}}}for(i=0;i<n;i++){printf("%s %d\n",a[i],d[i]-c[i][0]);}return 0;}
1 0
- usaco 1-1-2 Greedy Gift Givers
- USACO-cha1-sec1.1 Greedy Gift Givers
- USACO Section1.1 Greedy Gift Givers
- USACO-Section1.1 Greedy Gift Givers【查找】
- USACO-Section1.1 Greedy Gift Givers
- USACO-Section1.1 Greedy Gift Givers
- USACO-Section1.1 Greedy Gift Givers
- USACO-Section1.1 Greedy Gift Givers[...]
- USACO Section1.1 Greedy Gift Givers
- Greedy Gift Givers(USACO)
- usaco--Greedy Gift Givers
- [USACO] Greedy Gift Givers
- USACO-----Greedy Gift Givers
- USACO | Greedy Gift Givers
- USACO->Greedy Gift Givers
- USACO-Section1.1 Greedy Gift Givers [hash表]
- [USACO] Section1.1 Greedy Gift Givers[线性时间查找]
- USACO 1.1.2 Greedy Gift Givers
- 《Linux系统链接知识的总结及实践》
- [BZOJ 4380] POI 2015 Myjnie
- SCRIPT65535: 意外地调用了方法或属性访问(ie不兼容解决办法)
- Boost.Asio的使用技巧
- 输出固定长度字符串,多余位补0
- usaco 1-1-2 Greedy Gift Givers
- 谈论文档跟代码的关系
- connection to dat Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- Java基础日记
- 安卓开发入门之eclipse配置java和adb环境
- jQuery中的promise的应用
- 分布式缓存系统Memcached[分享]
- 如何获得最新的jdk和最新的eclipse
- HTML----多媒体