USACO全部译题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1USACOTRAINPROBLEMLISTCollectedbyBirDORFrom…………………………….Section1.1★YourRideIsHere你要乘坐的飞碟在这里一个众所周知的事实,在每一彗星后面是一个不明飞行物UFO.这些不明飞行物时常来收集来自在地球上忠诚的支持者.不幸地,他们的空间在每次旅行只能带上一群支持者.他们要做的是用一种聪明的方案让每一个团体人被彗星带走.他们为每个彗星起了一个名字,通过这些名字来决定一个团体是不是特定的彗星带走.那个相配方案的细节在下面被给出;你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗彗星后面的不明飞行物搭配.团体的名字和彗星的名字都以下列各项方式转换成一个数字:这个昀后的数字代表名字中所有字母的信息,A是1和Z是26.举例来说,团体USACO会是21*19*1*3*15=17955.如果团体的数字mod47等于彗星的数字mod47,那么你要告诉这个团体准备好被带走!写一个程序读入彗星的名字和团体的名字,如果搭配打印GO否者打印STAY团体的名字和彗星的名字将会是没有空格或标点的一串大写字母(不超过6个字母),如:InputOutputCOMETQHVNGATGOABSTARUSACOSTAYPROGRAMNAME:rideINPUTFORMAT第1行:彗星的名字(一个长度为1到6的字符串)第2行:团体的名字(一个长度为1到6的字符串)SAMPLEINPUT(fileride.in)COMETQHVNGATOUTPUTFORMAT单独一行包含STAR或GO.SAMPLEOUTPUT(fileride.out)GO5★GreedyGiftGivers贪婪的礼物送礼者对于一群要互送礼物的朋友,你要确定每个人送出的礼物比收到的多多少(andviceversaforthosewhoviewgiftgivingwithcynicism).在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人.然而,在任何一群朋友中,有些人将送出较多的礼物(可能是因为有较多的朋友),有些人有准备了较多的钱.给出一群朋友,没有人的名字会长于14字符,给出每个人将花在送礼上的钱,和将收到他的礼物的人的列表,请确定每个人收到的比送出的钱多的数目.IMPORTANTNOTE测试系统是Linux符合标准的Unix的协定.用'\n'作为行的结束.这和Windows系统用'\n'和'\r'作为行的结束是不同的.你的程序不要被这困住了.PROGRAMNAME:gift1INPUTFORMAT第1行:人数NP,2=NP=10第2到NP+1行:这NP个在组里人的名字一个名字一行第NP+2到昀后:这里的NP段内容是这样组织的:第一行是将会送出礼物人的名字.第二行包含二个数字:第一个是原有的钱的数目(在0到2000的范围里),第二个NGi是将收到这个送礼者礼物的人的个数如果NGi是非零的,在下面NGi行列出礼物的接受者的名字,一个名字一行.SAMPLEINPUT(filegift1.in)5davelauraowenvickamrdave2003lauraowenvickowen5001daveamr1502vickowenlaura602amrvickvick00OUTPUTFORMAT输出NP行每行是一个的名字加上空格再加上收到的比送出的钱多的数目.对于每一个人,他名字的打印顺序应和他在输入的2到NP+1行中输入的顺序相同.所有的送礼的钱都是整数.每个人把相同数目的钱给每位要送礼的朋友,而且尽可能多给,不能给出的钱被送礼者自己保留.SAMPLEOUTPUT(filegift1.out)dave302laura66owen-359vick141amr-150★FridaytheThirteenth黑色星期五13号又是星期五是一个不寻常的日子吗?13号在星期五比在其他日少吗?为了回答这个问题,写一个程序来计算在n年里13日落在星期一,星期二......星期日的次数.这个测试从1900年1月1日到1900+n-1年12月31日.n是一个非负数且不大于400.这里有一些你要知道的:1900年1月1日是星期一.4,6,11和9月有30天.其他月份除了2月有31天.闰年2月有29天,平年2月有28天.年份可以被4整除的为闰年(1992=4*498所以1992年是闰年,但是1990年不是闰年)以上规则不适合于世纪年.可以被400整除的世纪年为闰年,否则为平年.所以,1700,1800,1900和2100年是平年,而2000年是闰年.请不要预先算好数据!PROGRAMNAME:fridayINPUTFORMAT一个整数n.SAMPLEINPUT(filefriday.in)20OUTPUTFORMAT七个在一行且相分开的整数,它们代表13日是星期六,星期日,星期一.....星期五的次数.SAMPLEOUTPUT(filefriday.out)363334333535347★BrokenNecklace破碎的项链你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3=N=350),珠子是随意安排的.这里是n=29的二个例子:1212rbbrbrrbrbbbrrbrrrwrbrwwbbrrbbbbbbrbrrbrbrrrbrrrrrrbrbrrrw图片A图片Br代表红色的珠子b代表蓝色的珠子w代表白色的珠子第一和第二个珠子在图片中已经被作记号.图片A中的项链可以用下面的字符串表示:brbrrrbbbrrrrrbrrbbrbbbbrrrrb.假如你要在一些点打破项链,展开成一条直线,然后从一端开始收集同颜色的珠子直到你遇到一个不同的颜色珠子,在另一端做同样的事.(颜色可能与在这之前收集的不同)确定应该在哪里打破项链来收集到昀大多数的数目的子.Example举例来说,在图片A中的项链,可以收集到8个珠子,在珠子9和珠子10或珠子24和珠子25之间打断项链.在一些项链中,包括白色的珠子如图片B所示.当收集珠子的时候,一个被遇到的白色珠子可以被当做红色也可以被当做蓝色.表现项链的字符串将会包括三符号r,b和w.写一个程序来确定从一条被供应的项链昀大可以被收集珠子数目.PROGRAMNAME:beadsINPUTFORMAT第1行:N,珠子的数目第2行:一串度为N的字符串,每个字符是r,b或w.SAMPLEINPUT(filebeads.in)29(filebeads.out)118Section1.2★MilkingCows挤牛奶三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻.第二个农民在700时刻开始,在1200

1 / 83
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功