合肥工业大学第五届程序设计竞赛.docx
- 文档编号:3256714
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:9
- 大小:61.14KB
合肥工业大学第五届程序设计竞赛.docx
《合肥工业大学第五届程序设计竞赛.docx》由会员分享,可在线阅读,更多相关《合肥工业大学第五届程序设计竞赛.docx(9页珍藏版)》请在冰豆网上搜索。
合肥工业大学第五届程序设计竞赛
合肥工业大学第五届程序设计竞赛
TheProblemSet
ProblemA破译密码门
ProblemB强渡黑水河
ProblemC勇敢的心
ProblemD无聊的数对游戏
ProblemE扔鸡蛋
ProblemF费尽心机
ProblemG机遇决定命运
ProblemH救救我的爱人
2009.6
ProblemA
破译密码门
Description
JohnnyQ最心爱的女孩GJ被其情敌CK掳到了HFUT翡翠湖城堡,为了夺回自己的爱人,JohnnyQ依然决定深入虎穴救出GJ。
现在,他来到了城堡的面前,很好没人发现他。
可是城堡的大门是高科技产品,需要一个密码才能打开。
JohnnyQ曾听DJ说过CK是个酷爱数学的人,所以他用了一个很猥琐的密码:
(X+Y)^N的展开式.这下JohnnyQ囧了。
不过幸好他的电话支持3G功能,于是他打视频电话向你求助,聪明的你能帮助他么?
Input
输入的第一行是一个整数T,代表有T组测试数据.
接下来每行有个整数N,代表(X+Y)的次数(1<=N<=30)
Output
输出(X+Y)^N的展开式.展开式中的一次项省略其次数,如(X+Y)^2展开后为X^2+2XY+Y^2,每项与’+’之间均无空格,仅在最后一项后有一个回车.
SampleInput
2
1
2
SampleOutput
X+Y
X^2+2XY+Y^2
ProblemB
强渡黑水河
Description
JohnnyQ在你的帮助下终于进入了城堡,现在出现在他面前的是一条恐怖的黑水河。
河中有大量传说中的食人怪兽------法克鱿,同时还有一个N层正三角梅花桩阵,每个桩上都印有一个数字,如图所示是一个4层的正三角梅花桩阵.
JohnnyQ只能从离他最近的即这个三角木桩阵的最上面一个木桩开始一个桩一个桩的跳到对岸去,每次他只能向左下或右下跳一次,跳的距离只能是一个单位步长,比如最上面的7,只能跳到3和8,而3又只能跳到4和1.跳这样的木桩对身手矫健的JohnnyQ当然是小菜一碟.但是CK也不是盏省油的灯,要想跳过和还有个要求,那就是从你第一个桩跳到最后一个桩,所经过桩上的数字之和必须要等于M,否则就算跳到了最后一层的桩上,这个桩也会沉下去.比如M=21时,图中7->3->1->10是一条合法的路径,7->3->4->7也是一条合法的路径.现在你需要帮助JohnnyQ找到所有这样的合法路径供JohnnyQ选择.
Input
输入的第一行是一个整数T,代表有T组测试数据.
每组测试数据的一行是两个整数N,M.其中N代表梅花桩的层数(2<=N<=10),M代表合法路径的数字和.
接下来有N行,第i行有i个数,代表这个N层梅花阵每层的数字,每个数字不会超过100.
Output
输出第一行总是Case#k:
(k代表第k组数据)
接下来对于所有存在的合法路径,由于JohnnyQ每步总是优先往左跳(图中已标出左右方向),所以请根据这个原则将所有合法路径排序输出,每条路径一行,更多输出格式请参照sampleoutput.如果不存在这样的合法路径,请输出JohnnyQwillfallintotheriver!
SampleInput
2
421
7
38
415
79102
415
7
38
415
79105
SampleOuput
Case#1:
Road#1:
7->3->4->7
Road#2:
7->3->1->10
Case#2:
JohnnyQwillfallintotheriver!
ProblemC
勇敢的心
Description
现在呈现在JohnnyQ面前的是一个巨大的竞技场。
令他吃惊的是,竞技场里聚集了大批武功高强的江湖人士。
一打听才知道,原来这些人都是GJ的忠实Fans,都是想来救GJ的。
但是CK是个很狡猾的人,他当然不想面对这么多人的挑战。
于是他决定在这个竞技场的人两两进行厮杀,但是这里有个规矩,如果A赢了B,B赢了C,那么A实际上也就赢了C,但是如果C也赢了A,那么A,B,C三人就会陷入无休止的战争。
现在CK想知道经过若干场较量后,会不会出现一个最终的胜利者来与他单挑。
如果这个胜利者存在请输出他的名字。
如果不存在请输出”No”.
Input
输入含有多组测试数据,每组测试数据都以一个整数n(n<1000)开头,后跟n对人的比赛结果,比赛结果以一对人的名字(中间隔一空格)表示,前者战胜后者。
如果n为0,则表示输入结束。
注意:
人物名字不超过30个字符,只含有大小写英文字母.
Output
对于每组测试数据,若你判断出产生了最终的胜利者,则在一行中输出他的名字,否则在一行中输出“No”。
SampleInput
3
JohnnyQRoadmanA
JohnnyQRoadmanB
JohnnyQRoadmanC
3
ab
bc
ca
0
SampleOutput
JohnnyQ
No
ProblemD
无聊的数对游戏
Description
JohnnyQ一路过关斩将,突见前方坐一名老者。
这人并不理会飞奔而来的JohnnyQ,而是好像在独自研究什么。
JohnnyQ不想多浪费时间,于是加快速度向前跑去。
谁知这老者大手一挥,JohnnyQ突然感到前面有一面无形的墙挡住了去路。
老者飞快地在一张纸上依次写下了N个数对,(x1,y1),(x2,y2),(x3,y3).....(xn,yn)。
然后老者微微一笑,对JohnnyQ说:
”小伙子我要你从这N个数对中取若干个数对,使得所有序号小的数对的x值和y值都不大于序号大的数对的x值和y值,如果你能成功我就让你过去。
”JohnnyQ再次囧了,请问你能告诉他满足这个规则的取法有多少种吗?
Input
多组数据。
输入的第一行包含一个整数N(N<=50000),代表的人数。
接下来有N行,每行包括两个正整数xi,yi(1<=x,y<=1000),表示第i个数对的x值和y值。
输入以文件结束为结尾。
Output
输出包含一行。
由于结果可能很大,所以输出取法的种类MOD2009。
SampleInput
4
12
13
24
33
SampleOutput
11
ProblemE
扔鸡蛋
Description
为了阻止JohnnyQ救走GJ,CK绞尽脑汁想了各种各样稀奇古怪的机关。
JohnnyQ现在面对的就是这样一个可怕的东西。
如图,JohnnyQ前面是一条长度为L的轨道,轨道上有一辆小车。
而且在距离轨道起点X米远的上方H米处有一个固定的篮子。
小车总是在轨道上以V1的速度做来回的匀速运动。
现在JohnnyQ的任务是坐在小车上讲一些鸡蛋扔进那个篮子里,否则他就会被小车的机关给弄死,而且JohnnyQ扔鸡蛋的方式只能是以初速V2竖直上抛。
因为不能浪费任何一颗鸡蛋,所以JohnnyQ想知道他扔鸡蛋的准确出手点。
假设轨道起点处为原点,小车在起点和终点之间作来回运动,篮子,小车,鸡蛋的体积以及空气阻力都忽略不计,重力加速度取10。
另外请注意,鸡蛋只能从篮子上方掉入篮子,车子掉头可以认为是瞬间完成的。
Input
输入的第一行是一个整数T,代表有T组测试数据。
每组测试数据包含5个整数L,X,H,V1,V2,其含义如文中所示.
Output
每组测试数据的一行输出Case#i:
i代表第i组测试数据
输出JohnnyQ可以出手的地点,如有多个地点按从小到大的顺序排序输出,每个地点占一行,保留三位小数。
如果不存在,请输出”JohnnyQwillloseGJ’slove!
”
SampleInput
3
2010100160
205100160
105100160
SampleOutput
Case#1:
0.000
20.000
Case#2:
15.000
Case#3:
JohnnyQwillloseGJ'slove!
ProblemF
费尽心机
Description
CK为了阻止JohnnyQ费尽了心机,现在JohnnyQ面对的是这样一个难题:
CK给JohnnyQ了三条公理,分别是:
(L1)p->(q->p)
(L2)(p->(q->r))->((p->q)->(p->r))
(L3)(~p->~q)->(q->p)
其中,p,q,r是任意的元素,或者可以被任意的字符串替代,比如x1->(x1->x1),~x7->(x10->~x7),(~x2->x3)->(~~x4->(~x2->x3))都是L1型公理。
CK又给了一些公式让JohnnyQ判断这些公式是否是公理(任一型公理均可),现在你能帮助JohnnyQ解决问题吗?
Input
输入的第一行是一个整数N(1<=N<=30),代表公式的个数
接下来N行,每一行是一个公式(仅由小写字母,-,>,(,),~组成)
Output
如果公式是公理那么输出YES,否则输出NO
SampleInput
x1->(x1->x1)
(p->q)->(~q->~p)
(r->(s->t))->((r->s)->(t->r))
SampleOutput
YES
YES
NO
ProblemG
机遇决定命运
Description
JohnnyQ只差一步就要到达CK的老巢了。
现在摆在他面前的是一个经典的游戏:
钉子与小球。
但是传统的钉子与小球是在二维平面的,这个钉子与小球却是3D版的。
如图,这些钉子被分成0,1,2…n-1共n层,每层按从下到上按0,1,2,3..r-1编号,每行按从左到右按0,1,2,3..c-1编号,且n层钉子组成了一个正四面体。
第一层钉子的高度为h,那么第二层的高度为h–Δh,第三层的高度为h-2Δh...第n层的高度为h–(n-1)Δh.且这些钉子都是被CK施了巫术悬浮在空中的,也就是说在同一竖线上可能有多颗钉子,每颗钉子都是在空中固定不动的。
如果从顶上丢一个小球下去,小球每次会根据均等概率掉落到下一层它周围的某个钉子上。
现在知道打开CK老巢门的机关在第L层,第M行的第N个钉子上,JohnnyQ只有一次从顶上扔小球的机会,他想知道小球落到有机关的钉子上的概率是多少。
Input
输入含有多组测试数据,每组测试数据包含三个整数L,M,N(N<=M<=L<10).
输入以文件结尾结束.
Output
对于每组测试数据,输出概率的最简分数形式.
SampleInput
000
100
SampleOutput
1/1
1/3
ProblemH
救救我的爱人
Description
JohnnyQ过五关,斩六将终于来到了CK的老巢。
CK的老巢是一个m*n的迷宫。
GJ和CK在这个迷宫的某处。
JohnnyQ现在的任务就是找到他们并把GJ救出去。
CK知道自己如果一旦和JohnnyQ真的打起来自己肯定不是他对手。
所以他虽然也很爱GJ,但只能又想出一条下策。
如果JohnnyQ找到了他们,他就会给GJ服用毒药然后走密道逃之夭夭。
GJ服了毒药之后生命会变得异常虚弱,所以JohnnyQ必须快速把她带出去找医生。
但是由于GJ无法自己行走,所以JohnnyQ只能用辆小车推着GJ走向迷宫深处的出口。
如果GJ在服下毒药后t时间内无法到达出口,GJ将会死去。
JohnnyQ能顺利救出GJ么?
假设JohnnyQ每次推着小车走一格消耗掉1单位时间,且JohnnyQ始终只能在GJ后面推她。
如果车子被推到角落,那么车子将被困住,他们将永远无法出去。
Input
输入的第一行是一个整数T,代表有T组测试数据。
每组测试数据的第一行是三个正整数M,N(2<=M,N<=7),t,代表迷宫的大小和毒药发作的时间,然后是一个M行N列的矩阵,代表迷宫的布局,其中0代表可以行走的地方,1代表墙,2代表GJ现在的位置,3代表迷宫深处的出口,4代表JohnnyQ现在的位置.
Output
对于每组测试数据,如果JohnnyQ能在规定的时间内把GJ推到出口(只要GJ在出口上就算成功)那么请输出一行”GJ’slifeleavesTtimes!
”,T表示GJ还剩多久时间毒发。
如果能到达出口但大于或等于规定时间请输出一行”Oh,JohnnyQiangwilllosehisGJ!
”如果他们根本无法到达出口则输出一行”Haha,theycan'toutofthismaze!
”
SampleInput
1
555
03000
10140
00100
10200
00000
SampleOutput
GJ’slifeleaves1times!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 合肥 工业大学 第五 程序设计 竞赛