欢迎来到天天文库
浏览记录
ID:44870242
大小:38.01 KB
页数:7页
时间:2019-10-31
《石头剪子布、水库、贪婪的送礼者 noip》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、P1019石头剪子布题目描述现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。用R代表石头,S代表剪子,P代表布。输入输入的第一行是一个整数t(02、r2TIEPlayer1P水库(递归)题目描述 【问题描述】西南有一个水水库!由于干旱出现了!每天抽水救灾100吨,水库每天自然出水30吨!这样过了n天后,水库还有s吨水!!问水库在干旱出现前有多少吨水?【输入格式】2个正整数【输出格式】一个正整数【输入样例】121【输出样例】841【数据规模】3<=N<=400<=S<=100【时间限制】1SP5162GreedyGiftGivers 贪婪的送礼者题目描述1.1.2GreedyGiftGivers 贪婪的送礼者(gift1.pas/c/cpp)题目描述对于一群(NP个)要互送礼物的朋友,GY要确定每个人送出的3、钱比收到的多多少。在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱。给出一群朋友,没有人的名字会长于14字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表,请确定每个人收到的比送出的钱多的数目。输入格式(gift1.in)第1行:人数NP,2<=NP<=10 ,第2行到第NP+1行:这NP个在组里人的名字 一个名字一行,第NP+2到最后:,这里的I段内容是这样组织的:,第一行是将会送出礼物人的名字。,第二行包含二4、个数字: 第一个是原有的钱的数目(在0到2000的范围里),第二个NGi 是将收到这个人礼物的人的个数如果NGi 是非零的,在下面NGi 行列出礼物的接受者的名字,一个名字一行。,输出格式(gift1.out)输出NP行每行是一个的名字加上空格再加上收到的比送出的钱多的数目。对于每一个人,他名字的打印顺序应和他在输入的2到NP+1行中输入的顺序相同。所有的送礼的钱都是整数。每个人把相同数目的钱给每位要接受礼物的朋友,而且尽可能多给,不能给出的钱由送礼者本人持有。样例输入5davelauraowenvickamrdave2003lauraowenvickowen5、5001daveamr1502vickowenlaura02amrvickvick00样例输出dave302laura66owen-359vick141amr-150参考程序:programp1019;vart,n,i,r,sum1,sum2:longint;a,b,tmp:char;functionpd(p1,p2:char):integer;beginifp1=p2thenpd:=0elsebeginif(p1='R')and(p2='S')or(p1='S')and(p2='P')or(p1='P')and(p2='R')thenpd:=1elsepd:6、=2;end;end;beginreadln(t);while(t>0)dobegindec(t);readln(n);sum1:=0;sum2:=0;fori:=1tondobeginreadln(a,tmp,b);r:=pd(a,b);ifr=1theninc(sum1);ifr=2theninc(sum2);end;ifsum1>sum2thenwriteln('Player1')elseifsum17、ngint;functiondg(x:longint):longint;beginifx=n+1thendg:=selsedg:=dg(x+1)+70;end;beginreadln(n,s);writeln(dg(1));end.
2、r2TIEPlayer1P水库(递归)题目描述 【问题描述】西南有一个水水库!由于干旱出现了!每天抽水救灾100吨,水库每天自然出水30吨!这样过了n天后,水库还有s吨水!!问水库在干旱出现前有多少吨水?【输入格式】2个正整数【输出格式】一个正整数【输入样例】121【输出样例】841【数据规模】3<=N<=400<=S<=100【时间限制】1SP5162GreedyGiftGivers 贪婪的送礼者题目描述1.1.2GreedyGiftGivers 贪婪的送礼者(gift1.pas/c/cpp)题目描述对于一群(NP个)要互送礼物的朋友,GY要确定每个人送出的
3、钱比收到的多多少。在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱。给出一群朋友,没有人的名字会长于14字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表,请确定每个人收到的比送出的钱多的数目。输入格式(gift1.in)第1行:人数NP,2<=NP<=10 ,第2行到第NP+1行:这NP个在组里人的名字 一个名字一行,第NP+2到最后:,这里的I段内容是这样组织的:,第一行是将会送出礼物人的名字。,第二行包含二
4、个数字: 第一个是原有的钱的数目(在0到2000的范围里),第二个NGi 是将收到这个人礼物的人的个数如果NGi 是非零的,在下面NGi 行列出礼物的接受者的名字,一个名字一行。,输出格式(gift1.out)输出NP行每行是一个的名字加上空格再加上收到的比送出的钱多的数目。对于每一个人,他名字的打印顺序应和他在输入的2到NP+1行中输入的顺序相同。所有的送礼的钱都是整数。每个人把相同数目的钱给每位要接受礼物的朋友,而且尽可能多给,不能给出的钱由送礼者本人持有。样例输入5davelauraowenvickamrdave2003lauraowenvickowen
5、5001daveamr1502vickowenlaura02amrvickvick00样例输出dave302laura66owen-359vick141amr-150参考程序:programp1019;vart,n,i,r,sum1,sum2:longint;a,b,tmp:char;functionpd(p1,p2:char):integer;beginifp1=p2thenpd:=0elsebeginif(p1='R')and(p2='S')or(p1='S')and(p2='P')or(p1='P')and(p2='R')thenpd:=1elsepd:
6、=2;end;end;beginreadln(t);while(t>0)dobegindec(t);readln(n);sum1:=0;sum2:=0;fori:=1tondobeginreadln(a,tmp,b);r:=pd(a,b);ifr=1theninc(sum1);ifr=2theninc(sum2);end;ifsum1>sum2thenwriteln('Player1')elseifsum17、ngint;functiondg(x:longint):longint;beginifx=n+1thendg:=selsedg:=dg(x+1)+70;end;beginreadln(n,s);writeln(dg(1));end.
7、ngint;functiondg(x:longint):longint;beginifx=n+1thendg:=selsedg:=dg(x+1)+70;end;beginreadln(n,s);writeln(dg(1));end.
此文档下载收益归作者所有