第二届河南省ACM竞赛Word文件下载.docx
《第二届河南省ACM竞赛Word文件下载.docx》由会员分享,可在线阅读,更多相关《第二届河南省ACM竞赛Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
例如:
给定指令序列(33125),表示机器人在第1个位置时,可以前进3步到第4个位置,此时后退是不起作用的,出界;
机器人在第2个位置时,可以前进3步到第5个位置,此时后退是不起作用的,出界;
机器人在第3个位置时,可以前进1步到第4个位置,也可以后退1步到第2个位置等等。
你认为,对给定的两个位置A,B,聪明的机器人从A位置走到B位置至少要判断几次?
【标准输入】
第一行:
M表示以下有M组测试数据(0<
M<
=8)
接下来每组有两行数据
头一行:
NAB(1≤N≤50,1≤A,B≤N)
下一行:
K1K2…..Kn(0<
=Ki<
=N)
【标准输出】
输出有M行,第i行为第i组测试数据的最少判断次数,若无法到达,则输出-1。
【样例】
标准输入
标准输出
2
515
33125
853
12153111
3
-1
【试题二】
奇特的艺术品
Dr.Kong设计了一件艺术品,该艺术品由N个构件堆叠而成,N个构件从高到低按层编号依次为1,2,……,N。
艺术品展出后,引起了强烈的反映。
Dr.Kong观察到,人们尤其对作品的高端部分评价甚多。
狂热的Dr.Kong一激动,对组成该艺术品的N个构件重新组合,比如:
把第6层到第12层的构件搬下来,想一想,然后整体放到剩下构件的第7层下面;
过一会儿,又把第2层到第9层的构件搬下来,整体放到剩下构件的第1层下面等等。
于是,Dr.Kong在进行了连续若干次“搬来搬去”后,还是这N个构件,又诞生了一件新的艺术品。
编程:
请输出新的艺术品最高十层构件的编号。
【标准输入】
NK表示构件的总数和“搬来搬去”的总次数
第2~K+1行:
ABC表示要搬动的构件(即从第A层到第B层)整个放在第C层下面;
如果C等于0,则要搬动的构件将放到最高层。
由十行组成,分别为组成新艺术品的第一层到第十层构件的编号。
【约束条件】
(1)10≤N≤200001≤k≤1000
(2)1≤A≤B≤N,0≤C≤N-(B-A+1)
133
6121
290
10138
6
7
8
9
10
11
12
4
【试题三】
瓷器物流规划
【问题描述】
南方某瓷都有一套较完整的瓷器运输物流系统。
该物流系统由若干个物流基站组成,以1…N进行编号。
每个物流基站i都有且仅有一个后继基站J,而可以有多个前驱基站。
基站i中需要继续运输的瓷器都将被运往后继基站J,显然一个物流基站的后继基站不能是其本身。
编号为1的物流基站称为控制基站,从任何物流基站都可以经过若干次周转将瓷器运往控制基站1。
注意控制基站也有后继基站,以便在需要时进行物资的流通。
在本瓷器物流系统规划中,高可靠性与低成本是主要设计目的。
对于基站i,我们定义其“可靠性”R(i)如下:
设物流基站i有W个前驱基站P1,P2,….,PW,即这些基站以i为后继基站,则基站i的可靠性R(i)满足下式:
R(i)=Ci+K*[R(P1)+R(P1)+……+R(PW)]
其中:
Ci和k都是常实数且恒为正,且0<
k<
1。
整个系统的可靠性与控制基站1的可靠性都相关,我们的目标是能否通过修改本瓷器物流系统,(即更改某些基站的后继基站),使得控制基站的可靠性R
(1)尽量大。
但由于经费限制,最多只能修改M个基站的后继基站,并且,控制基站的后继基站不
可被修改。
因而我们所面临的问题就是,如何修改不超过M个基站的后继,使得控制基站的可靠性R
(1)最大化。
T表示以下有T组测试数据(0<
T<
接下来每组有三行数据
头一行包含两个整数与一个实数,N,m,k。
其中N表示基站数目,m表示最多可修改的后继基站数目,k分别为可靠性定义中的常数。
下一行包含N个整数,分别是S1,S2…SN,即每一个基站的后继基站编号。
第三行包含N个正实数,分别是C1,C2…CN,为可靠性定义中的常数。
输出有T行,第i行为仅包含一个实数,为第i组测试数据可得到的最大R
(1)。
精确到小数点两位。
【输入样例】【输出样例】
130.00
410.5
2313
10.010.010.010.0
【样例说明】
原有物流系统如左图所示,4个物流基站的可靠性依次为22.8571,21.4286,
25.7143,10。
最优方案为将2号基站的后继基站改为1号,如右图所示。
此时4个基站
的可靠性依次为30,25,15,10。
【数据规模和约定】
对于所有的数据,满足1≤m≤N≤60,Ci≤106,0.3≤k<
1,请使用双精度实数,无需考虑由此带来的误差。
【试题四】
壮观的瓷器广场
最近,某瓷都为了体现“千年瓷都”的风貌,将要建立一个壮观的瓷器广场迎接来自各国的宾客。
,顾问Dr.Kong提出了一项建议:
在巨大的广场南面展示N件高度不等的瓷器灯柱。
夜间,这些瓷器灯柱逐一闪亮,由低至高,如此场景必将十分的绚丽夺目。
然而,在瓷器灯柱运来安放后,Dr.Kong才发现粗心的工人并没有按照从低到高的顺序安放瓷器灯柱。
由于瓷器灯柱已经竖立起来,不可能全部推倒重新安放,人力又搬不动。
因此,Dr.Kong只能借助巨型吊车每次将两个瓷器灯柱的位置小心翼翼地进行交换。
例如,有3个瓷器灯柱初始时高度顺序是:
312。
可以先用吊车交换后两个灯柱的位置,得到321,再交换第一和第三个灯柱,得到最终序列123。
毕竟,用吊车交换灯柱位置可不是一件容易的事情,灯柱越高其重量越大,交换的难度也就越高。
Dr.Kong估算出,每一次交换的难度等于交换的两个灯柱的高度的和。
而整个交换方案的难度等于每次交换难度的总和。
例如先前的交换方案。
原先312,交换后两个(难度为1+2=3),得到321,再交换第一和第三个(难度为3+1=4),得到123。
因此,该方案的难度为3+4=7。
为了使交换工作尽快完成,难度最低的交换方案自然是首选了。
Dr.Kong虽然知道一些选择,冒泡,归并,快速甚至堆排序等。
然而,在该问题面前,这些方法看起来似乎毫无用武之地!
你有何办法?
N(表示瓷器灯柱的数目1≤N≤100)
H1H2….Hn(表示依次安放灯柱的高度,1≤Hi≤1000,)
输出有M行,第i行为仅包含一个整数,为第i组测试数据可得到的交换方案的最低难度值。
312
30401023
103
【试题五】
瓷器工艺
古窑是某瓷都最著名的陶瓷历史文化景点,景区内的古工艺、古作坊、古窑房、古建筑,堪称瓷文化风景之“四绝”,在文博旅游资源中,起着举足轻重的作用。
对古瓷器的开发利用,关键是要做“活”,充分挖掘其丰富的文化内涵,让历史与现实对话。
但要真正演绎或体现其陶瓷文化内涵,必须全方位恢复以圆器和琢器为典型代表的手工艺作坊全部的传统工艺生产流程,增加其内涵价值。
某瓷器厂准备赶制一批仿古瓷器,参加某国世博会的展览。
按照六大要素进行整合设计和规划,要生产出这批高品质的瓷器,需要多项工艺制作过程,每一项工艺都需要一定的时间来完成。
当然,有些工艺必须在另一些工艺完成的情况下才能进行。
我们把这些工作称为完成本项工艺的前期准备工作。
至少有一项工艺制作不需有前期准备工作,这项工作可以最早着手完成的工作,标记为工艺1。
研发科的Dr.Kong接到了一个要完成N个工艺制作的清单,并且这份清单是有一定顺序的,工艺K(k>
1)的准备工作只可能在工艺1..k-1中。
你能否帮Dr.Kong写一个程序,计算出所有工艺都被制作完成的最短时间。
当然互相没有关系的工艺可以同时工作,并且,你可以假定瓷器厂有足够多的工人来同时完成任意多项工艺的制作任务。
第1行:
N表示必须要完成的工艺的数目(3<
=N<
=500);
第2~N+1行:
每行有一些用1个空格隔开的整数,分别表示:
*工艺序号i(1<
=i<
=N,);
*完成本项工作所需要的时间Ti(1<
=Ti<
=100);
*一些必须完成的准备工作,总数不超过100个,由0结束。
有些工艺的制作是不需要准备的工作的只描述一个单独的0。
一个整数,表示完成所有工艺制作需要的最短时间。
150
2210
3320
4610
51240
68240
743560
23
【试题六】
FaultyOdometer
【Description】
Youaregivenacarodometerwhichdisplaysthemilestraveledasaninteger.Theodometerhasadefect,however:
itproceedsfromthedigit3tothedigit5,alwaysskippingoverthedigit4.Thisdefectshowsupinallpositions(theone'
s,theten'
s,thehundred'
s,etc.).Forexample,iftheodometerdisplays15339andthecartravelsonemile,odometerreadingchangesto15350(insteadof15340).
【Input】
Eachlineofinputcontainsapositiveintegerintherange1..999999whichrepresentsanodometerreading.(Leadingzeroswillnotappearintheinput.)Theendofinputisindicatedbyalinecontainingasingle0.Youmayassumethatnoodometerreadingwillcontainthedigit4.
【Output】
Eachlineofinputwillproduceexactlyonelineofoutput,whichwillcontain:
theodometerreadingfromtheinput,acolon,oneblankspace,andtheactualnumberofmilestraveledbythecar.
【SampleInput】
15
250
【Sampleoutput】
15:
13
250:
198
【试题七】
TheNumberoftheSameBST
Manypeopleknowsbinarysearchtree.ThekeysinabinarysearchtreearealwaysstoredinsuchawayastosatisfytheBSTproperty:
LetXbeanodeinabinarysearchtree.IfYisanodeintheleftsubtreeofX,thenY<
=X.IfYisanodeintherightsubtreeofX,thenY>
X.
Forexample,
Itisabinarysearchtree.AnditcanbebuiltbyinsertingtheelementsofvectorA=(12,6,3,18,20,10,4,17,20)sequentially.ButitcanalsobebuiltbythevectorB=(12,18,17,6,20,3,10,4,20).
NowgivenavectorX,thenyoumaygetabinarysearchtreefromX.Yourjobistocalculatehowmanydifferentvectorscanbuildthesamebinarysearchtree.Tomakeiteasy,youshouldjustoutputthenumberofdifferentvectorsmod9901.
Inputconsistsofseveralcases.Eachcasestartswithalinecontainingonepositiveintegern,whichisthelengthoftestvector.Theintegernislessthan20.Followingthistherewillbenpositiveintegers,whicharelessthen1000,onthenextline.Theinputwillendwithacasestartingwithn=0.Thiscaseshouldnotbeprocessed.
Foreachtestcase,printalinewithasingleinteger,whichisthenumberofdifferentvectorsmod9901.
213
56318201041720
168
【试题八】
DNAEvolution
Evolutionisaseeminglyrandomprocesswhichworksinawaywhichresemblescertainapproachesweusetogetapproximatesolutionstohardcombinatorialproblems.Youarenowtodosomethingcompletelydifferent.
GivenaDNAstringSfromthealphabet{A,C,G,T},findtheminimalnumberofcopyoperationsneededtocreateanotherstringT.Youmayreversethestringsyoucopy,andcopybothfromSandthepiecesofyourpartialT.Youmayputthesepiecestogetheratanytime.YoumayonlycopycontiguouspartsofyourpartialT,andallcopiedstringsmustbeusedinyourfinalT.
Example:
FromS=“ACTG”createT=“GTACTAATAAT”
1.GetGT.........bycopyingandreversing"
TG"
fromS.
2.GetGTAC...bycopying"
AC"
3.GetGTACTA…..bycopying"
TA"
fromthepartialT.
4.GetGTACTAATbycopyingandreversing"
5.GetGTACTAATAATbycopying"
AAT"
fromthepartialT.
Thefirstlineofinputgivesasingleinteger,1≤k≤10,thenumberoftestcases.Thenfollow,foreachtestcase,alinewiththestringS,lengthofSislessthen19,andalinewiththestringT,lengthofTislessthen19.
OutputforeachtestcasethenumberofcopyoperationsneededtocreateTfromS,or"
impossible"
ifitcannotbedone.
ACGT
TGCA
A
C
TCGATCGA
AAAAAAAAAAAAAAAAAA
1
impossible