ACM湖南省大学生程序设计大赛题目及比赛排名.docx
- 文档编号:8691684
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:49
- 大小:167.43KB
ACM湖南省大学生程序设计大赛题目及比赛排名.docx
《ACM湖南省大学生程序设计大赛题目及比赛排名.docx》由会员分享,可在线阅读,更多相关《ACM湖南省大学生程序设计大赛题目及比赛排名.docx(49页珍藏版)》请在冰豆网上搜索。
ACM湖南省大学生程序设计大赛题目及比赛排名
湖南省第七届大学生计算机程序设计竞赛
TheSeventhHunanCollegiateProgrammingContest
主办:
湖南省教育厅
协办:
湖南省高等教育学会计算机教育专业委员会
承办:
湖南农业大学
2011年9月15日
本次比赛11道题目,共12页。
如有缺页,请立即通知赛场工作人员。
所有题目均采用标准输入输出,请不要读写任何文件。
所有题目的正确输出均是惟一的。
你的输出只有和正确输出完全一致时才能通过。
湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest
题目A
一二三
你弟弟刚刚学会写英语的一(one)、二(two)和三(three)。
他在纸上写了好些一二三,可惜有些字母写错了。
已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗?
输入
第一行为单词的个数(不超过10)。
以下每行为一个单词,单词长度正确,且最多有一个字母写错。
所有字母都是小写的。
输出
对于每组测试数据,输出一行,即该单词的阿拉伯数字。
输入保证只有一种理解方式。
样例输入
样例输出
3
owe
too
theee
1
2
3
湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest
题目B
报数游戏
n个人站成一行玩一个报数游戏。
所有人从左到右编号为1到n。
游戏开始时,最左边的人报1,他右边的人报2,编号为3的人报3,等等。
当编号为n的人(即最右边的人)报完n之后,轮到他左边的人(即编号为n-1的人)报n+1,然后编号为n-2的人报n+2,以此类推。
当最左边的人再次报数之后,报数方向又变成从左到右,依次类推。
为了防止游戏太无聊,报数时有一个特例:
如果应该报的数包含数字7或者是7的倍数,他应当用拍手代替报数。
下表是n=4的报数情况(X表示拍手)。
当编号为3的人第4次拍手的时候,他实际上数到了35。
给定n,m和k,你的任务是计算当编号为m的人第k次拍手时,他实际上数到了几。
输入
输入包含不超过10组数据。
每组数据占一行,包含三个整数n,m和k(2<=n<=100,1<=m<=n,1<=k<=100)。
输入结束标志为n=m=k=0。
输出
对于每组数据,输出一行,即编号为m的人第k次拍手时,他实际上数到的那个整数。
样例输入
431
432
433
434
000
样例输出
17
21
27
35
湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest
题目C
多连块拼图
多连块是指由多个等大正方形边与边连接而成的平面连通图形。
--维基百科
给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成。
小多连块只能平移,不能旋转或者翻转。
两个小多连块不得重叠。
左下图是一个合法的拼法,但右边两幅图都非法。
中间那幅图的问题在于其中一个小多连块旋转了,而右图更离谱:
拼在一起的那两个多连块根本就不是那个给定的小多连块(给定的小多连块画在右下方)。
输入
输入最多包含20组测试数据。
每组数据第一行为两个整数n和m(1<=m<=n<=10)。
以下n行描述大多连块,其中每行恰好包含n个字符*或者.,其中*表示属于多连块,.表示不属于。
以下m行为小多连块,格式同大多连块。
输入保证是合法的多连块(注意,多连块至少包含一个正方形)。
输入结束标志为n=m=0。
输出
对于每组测试数据,如果可以拼成,输出1,否则输出0。
样例输入
43
.**.
****
.**.
....
**.
.**
...
33
***
*.*
***
*..
*..
**.
42
****
....
....
....
*.
*.
00
样例输出
1
0
0
湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest
题目D
多连块分解
多连块是指由多个等大正方形边与边连接而成的平面连通图形。
--维基百科
给定一个大多连块,你的任务是把它分解成至少两个全等(不能翻转或者旋转)的小多连块。
下面的左图是一个合法的分解,右边两幅图不合法。
中间那幅图的问题在于其中一个小多连块旋转了,而右图的问题在于其中一个小多连块翻转了。
分解出的小多连块数量越少越好。
注意:
本题一定有解,因为至少可以分解成一大堆单位正方形。
输入
输入最多包含30组测试数据。
每组数据第一行为一个整数n(1<=n<=10)。
以下n行描述大多连块,其中每行恰好包含n个字符*或者.,其中*表示属于多连块,.表示不属于。
输入保证是合法的多连块。
输入多连块至少包含一个正方形,至多包含二十个正方形。
输入结束标志为n=0。
输出
对于每组数据,输出大多连块的分解方案。
每个正方形用一个大写字母表示它所在的小多连块。
不同的小多连块应有不同的字母表示。
如果有多组解,输出字典序最小的。
换句话说,如果我们把输出的n行字符串逐行连接一个长字符串(比如样例2,连接后的字符串为AABB),这个字符串的字典序应该尽量小。
每组测试数据的输出后打印一个空行。
样例输入
5
..**.
.****
****.
.**..
.....
2
**
**
0
样例输出
..AA.
.AABB
AABB.
.BB..
.....
AA
BB
湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest
题目E
盒子游戏
有两个相同的盒子,其中一个装了n个球,另一个装了一个球。
Alice和Bob发明了一个游戏,规则如下:
Alice和Bob轮流操作,Alice先操作。
每次操作时,游戏者先看看哪个盒子里的球的数目比较少,然后清空这个盒子(盒子里的球直接扔掉),然后把另一个盒子里的球拿一些到这个盒子中,使得两个盒子都至少有一个球。
如果一个游戏者无法进行操作,他(她)就输了。
下图是一个典型的游戏:
面对两个各装一个球的盒子,Bob无法继续操作,因此Alice获胜。
你的任务是找出谁会获胜。
假定两人都很聪明,总是采取最优策略。
输入
输入最多包含300组测试数据。
每组数据仅一行,包含一个整数n(2<=n<=109)。
输入结束标志为n=0。
输出
对于每组数据,输出胜者的名字。
样例输入
2
3
4
0
样例输出
Alice
Bob
Alice
湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest
题目F
打怪升级
对于多数RPG游戏来说,除了剧情就是打怪升级。
本题的任务是用最短的时间取得所有战斗的胜利。
这些战斗必须按照特定的顺序进行,每打赢一场,都可能会获得一些补药,用来提升力量。
本题只有两种补药:
“加1药”和“乘2药”,分别让你的力量值加1和乘以2。
战斗时间取决于你的力量。
每场战斗可以用6个参数描述:
p1,p2,t1,t2,w1,w2。
如果你的力量小于p1,你将输掉战斗;如果你的力量大于p2,需要t2秒赢得战斗;如果力量位于p1和p2(包括p1和p2),战斗时间从t1线性递减到t2。
比如p1=50,p2=75,t1=40,t2=15,你的力量为55,则战斗获胜需要35秒。
注意,战斗时间可能不是整数。
最后两个参数w1和w2分别表示战斗胜利后获得的“加1药”和“乘2药”的数量。
注意,你不一定要立刻使用这些补药,可以在需要的时候再用,但不能在战斗中使用补药。
按顺序给出每场战斗的参数,输出赢得所有战斗所需的最短总时间。
战斗必须按顺序进行,且不能跳过任何一场战斗。
输入
输入最多包含25组测试数据。
每组数据第一行为两个整数n和p(1<=n<=1000,1<=p<=100),即战斗的场数和你的初始力量值。
以下n行每行6个整数p1,p2,t1,t2,w1,w2(1<=p1 输入结束标志为n=p=0。 输出 对于每组数据,输出最短总时间(单位: 秒),保留两位小数。 如果无解,输出“Impossible”(不含引号)。 样例输入 155 50754015100 255 50754015100 50754015100 31 122105 122110 1100100100 17 415352300 11 232100 00 样例输出 35.00 60.00 41.00 31.73 Impossible 湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest 题目G 最优对称路径 给一个n行n列的网格,每个格子里有一个1到9的数字。 你需要从左上角走到右下角,其中每一步只能往上、下、左、右四个方向之一走到相邻格子,不能斜着走,也不能走出网格,但可以重复经过一个格子。 为了美观,你经过的路径还必须关于“左下-右上”这条对角线对称。 下图是一个6x6网格上的对称路径。 你的任务是统计所有合法路径中,数字之和最小的路径有多少条。 输入 输入最多包含25组测试数据。 每组数据第一行为一个整数n(2<=n<=100)。 以下n行每行包含n个1到9的数字,表示输入网格。 输入结束标志为n=0。 输出 对于每组数据,输出合法路径中,数字之和最小的路径条数除以1,000,000,009的余数。 样例输入 样例输出 2 11 11 3 111 111 211 0 2 3 湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest ProblemH PiecesandDiscs ThereisarectangleontheCartesianplane,whosebottom-leftcorneris(0,0),top-rightcorneris(L,W).Youdrawsomelinesegmentstodividetherectangleintopieces.Eachlinesegmentconnectstwopointsontheboundaryoftheoriginalrectangle(thesetwopointsareguaranteedtobeondifferentsidesoftherectangle). Finally,youdrawsomediscs(adiscisacirclewithitsinterior),andyourtaskistofindoutallthepieceseachdiscisintersectingwith(i.e.piecesthathavenon-zerointersectionareawiththedisc),andoutputtheirareasinincreasingorder.Anexamplepictureisshownbelow: Input Therewillbeatmost100testcases.Eachtestcasebeginswithfourintegern,m,L,W(1<=n,m<=20,1<=L,W<=100),wherenisthenumberoflinesegments,misthenumberofdiscs.Eachofthenextnlinesdescribesalinesegmentwithforintegersx1,y1,x2,y2,thatisasegmentconnecting(x1,y1)and(x2,y2).Thesetwopointsareguaranteedtobeondifferentsidesoftheoriginalrectangle.Eachofthelastmlinecontainsthreeintegersx,y,R(0<=x<=L,0<=y<=W,1<=R<=100),indicatingthatthedisciscenteredat(x,y),whoseradiusisR.Notwosegmentswillbethesame.Inputisterminatedbyn=m=L=W=0. Output Foreachdisc(sameorderasininput),printthenumberofpiecesthatthediscisintersectingwith,andtheareasofthesepiecesinasingleline.Theareasshouldbesortedinincreasingorder,andeachareashouldberoundedto2digitsafterthedecimalpoint.Printablanklineaftereachtestcase. SampleInput OutputfortheSampleInput 411010 04104 10710 510101 21060 373 0000 40.5010.0310.7718.70 湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest ProblemI SuperPoker Ihaveasetofsuperpokercards,consistingofaninfinitenumberofcards.Foreachpositiveintegerp,thereareexactlyfourcardswhosevalueisp: Spade(S),Heart(H),Club(C)andDiamond(D).Therearenocardsofothervalues. Giventwopositiveintegersnandk,howmanywayscanyoupickupatmostkcardswhosevaluessumton? Forexample,ifn=15andk=3,onewayis3H+4S+8H,shownbelow: Input Therewillbeatmost20testcases,eachwithtwointegersnandk(1<=n<=109,1<=k<=10).Theinputisterminatedbyn=k=0. Output Foreachtestcase,printthenumberofways,modulo1,000,000,009. SampleInput OutputfortheSampleInput 21 22 23 505 00 4 10 10 1823966 湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest ProblemJ SuperPokerII Ihaveasetofsuperpokercards,consistingofaninfinitenumberofcards.Foreachpositivecompositeintegerp,thereareexactlyfourcardswhosevalueisp: Spade(S),Heart(H),Club(C)andDiamond(D).Therearenocardsofothervalues.By“compositeinteger”,wemeanintegersthathavemorethan2divisors.Forexample,6isacompositeinteger,sinceithas4divisors: 1,2,3,6;7isnotacompositenumber,since7onlyhas2divisors: 1and7.Notethat1isnotcomposite(ithasonly1divisor). Givenapositiveintegern,howmanywayscanyoupickupexactlyonecardfromeachsuit(i.e.exactlyonespadecard,oneheartcard,oneclubcardandonediamondcard),sothatthecardvaluessumton? Forexample,ifn=24,onewayis4S+6H+4C+10D,shownbelow: Unfortunately,someofthecardsarelost,butthismakestheproblemmoreinteresting.Tofurthermaketheproblemevenmoreinteresting(andchallenging! ),I’llgiveyoutwootherpositiveintegersaandb,andyouneedtofindoutalltheanswersforn=a,n=a+1,…,n=b. Input Theinputcontainsatmost25testcases.Eachtestcasebeginswith3integersa,bandc,wherecisthenumberoflostcards.Thenextlinecontainscstrings,representingthelostcards.EachcardisformattedasvalueS,valueH,valueCorvalueD,wherevalueisacompositeinteger.Notwolostcardsarethesame.Theinputisterminatedbya=b=c=0.Therewillbeatmostonetestcasewherea=1,b=50,000andc<=10,000.Forothertestcases,1<=a<=b<=100,0<=c<=10. Output Foreachtestcase,printb-a+1integers,oneineachline.Sincethenumbersmightbelarge,youshouldoutputeachintegermodulo1,000,000.Printablanklineaftereachtestcase. SampleInput 12202 4S6H 000 OutputfortheSampleInput 0 0 0 0 0 0 1 0 3 湖南省第七届大学生计算机程序设计竞赛TheSeventhHunanCollegiateProgrammingContest ProblemK RMQwithShifts InthetraditionalRMQ(RangeMinimumQuery)problem,wehaveastaticarrayA.Thenforeachquery(L,R)(L<=R),wereporttheminimumvalueamongA[L],A[L+1],…,A[R].Notethattheindicesstartfrom1,i.e.theleft-mostelementisA[1]. Inthisproblem,thearrayAisnolongerstatic: weneedtosupportanotheroperationshift(i1,i2,i3,…,ik)(i1 wedoaleft“circularshift”ofA[i1],A[i2],…,A[ik]. Forexample,ifA={6,2,4,8,5,1,4},thenshift(2,4,5,7)yields{6,8,4,5,4,1,2}.Afterthat,shift(1,2)yields{8,6,4,5,4,1,2}. Input Therewillbeonlyonetestcase,beginningwithtwointegersn,q(1<=n<=100,000,1<=q<=120,000),thenumberofintegersinarrayA,andthenumberofoperations.Thenextlinecontainsnpositiveintegersnotgreaterthan100,000,theinitialelementsinarrayA.Eachofthenextqlinescontainsanoperation.Eachoperationisformattedasastringhavingnomorethan30characters,withnospacecharactersinside.Alloperationsa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACM 湖南省 大学生 程序设计 大赛 题目 比赛 排名