中原工学院第三届ACM题.docx

上传人:b****3 文档编号:27436662 上传时间:2023-06-30 格式:DOCX 页数:11 大小:19.06KB
下载 相关 举报
中原工学院第三届ACM题.docx_第1页
第1页 / 共11页
中原工学院第三届ACM题.docx_第2页
第2页 / 共11页
中原工学院第三届ACM题.docx_第3页
第3页 / 共11页
中原工学院第三届ACM题.docx_第4页
第4页 / 共11页
中原工学院第三届ACM题.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

中原工学院第三届ACM题.docx

《中原工学院第三届ACM题.docx》由会员分享,可在线阅读,更多相关《中原工学院第三届ACM题.docx(11页珍藏版)》请在冰豆网上搜索。

中原工学院第三届ACM题.docx

中原工学院第三届ACM题

中原工学院第三届ACM大赛

1.春节将至,正是一年中铁路最繁忙的时候,大量出外打工的人们都在忙着返乡,小王就是其中的一个。

小王是河南郑州人,今年来到深圳打工的,第一次离开家乡,虽然挣了些钱,却来不及买什么东西,就想着回家看望家人以慰思乡之苦。

为了省钱,也为了避开人流,小王决定乘汽车回家。

从深圳到郑州,沿途经过很多站。

乘车方案是要么坐长途大巴,一站到家,但是可能比较贵。

要么中途在某些站下车进行中转,可能会比较省钱。

现在,小王搜集了沿途站点之间的票价,请你为小王编写一个程序,帮助他决策坐车的方案使花费最少。

设深圳到郑州间有n个汽车站1,2,…,n,小王可以在任意站下车进行换乘。

在汽车站i到汽车站j之间的票价为r(i,j),1≤i

请编写程序,计算出从深圳汽车站(站1)到郑州汽车站(站n)所需的最少票价。

 

输入

输入包含10组数据,每组数据的第1行中有1个正整数n(n<=200),表示从深圳到郑州途经n个汽车站。

接下来的n-1行是r(i,j),1≤i

输出

 

程序运行结束时,输出深圳汽车站(站1)到郑州汽车站(站n)所需的最少票价。

 

样例输入

3

515

7

 

样例输出

12

 

 

(2).小王今天参加驾照场地考试,考官看到小王各项测试都非常优秀,就特意为小王别出心裁设计了一个新测试项目。

这个新测试是这样的:

将开阔的场地分成m×n的方格,每个方格占5×5米,如图所示,在这m×n个方格中有一些格子设置了障碍不许进入,而没有设置障碍的方格则可沿8个方向自由进入。

小王驾车初始位于场地的(p,q)方格中,他必须找出一条通向终点所在的(r,s)方格的路。

在抵达终点之前,他必须走遍所有未设置障碍的方格各一次,而且要使到达终点的转弯次数为最少。

每改变一次前进方向算作转弯一次。

请设计一个算法帮助小王找出这样一条道路,使小王通向终点的道路转弯最少。

 

输入

输入包含多组数据。

每组数据中第一行有3个正整数n,m,k,分别表示场地划分出的方格的行数,列数和设置障碍的方格数。

接下来的k行中,每行2个正整数,表示设置障碍的方格所在的行号和列号。

最后的2行,每行也有2个正整数,分别表示小王驾车起点所处的方格(p,q)和终点所处的方格(r,s)。

 

输出

输出小王驾车通向终点的最少转弯次数和有多少条不同的最少转弯道路。

输出的第一行是最少转弯次数。

输出的第2行是不同的最少转弯道路数。

接下来的n行每行m个数,表示场地的一条最少转弯道路。

A[i][j]=k表示第k步到达方格(i,j);

A[i][j]=-1表示方格(i,j)是不许进入的。

如果小王无法通向终点则输出“NoSolution!

”。

 

样例输入

342

12

34

11

22

 

样例输出

6

7

1-198

21067

345-1

 

(3).设n是一个正整数。

现在要求将n分解为若干个互不相同的自然数的和,且使这些自然数的乘积最大。

编程任务:

对于给定的正整数n,编程计算最优分解方案。

 

输入

包含10组数据,每组数据只占一行,即输入的正整数n(4

 

输出

程序运行结束时,输出计算的最大乘积。

样例输入

10

样例输出

30

提示

 

参与乘积的因子距离越小,乘积越大。

先求以2为起始的最大连续数序列,再处理当前和与输入数之间的剩余差距。

例如:

10:

2*3*5

11:

2*4*5

12:

3*4*5

13:

3*4*6

 

(4).TherearesomepermutationgenerationtechniquesinKnuth’sbook“TheArtofComputerProgramming-Volume1”.Oneoftheprocessesisasfollows:

ForeachpermutationA1,A2,…,An-1formnothersbyinsertingacharacterninallpossibleplacesobtaining

nA1A2…An-1,A1nA2…An-1,….,A1A2…nAn-1,A1A2,…An-1n

Forexample,fromthepermutation231inserting4inallpossibleplacesweget4231243123412314.

Followingthisruleyouhavetogenerateallthepermutationforagivensetofcharacters.Allthegivencharacterswillbedifferentandtherenumberwillbelessthan10andtheyallwillbealphanumerals.Thisprocessisrecursiveandyouwillhavetostartrecursivecallwiththefirstcharacterandkeepinsertingtheothercharactersinorder.Thesampleinputandoutputwillmakethisclear.Youroutputshouldexactlymachthesampleoutputforthesampleinput.

 

输入

Theinputcontainsseverallinesofinput.Eachlinewillbeasequenceofcharacters.Therewillbelessthantenalphanumeralsineachline.TheinputwillbeterminatedbyEndofFile.

输出

Foreachlineofinputgeneratethepermutationofthosecharacters.Theinputorderingisveryimportantfortheoutput.Thatisthepermutationsequenceforabcandbcawillnotbethesame.Seperateeachsetofpermutationoutputwithablankline.

样例输入

abc

bca

dcba

样例输出

cba

bca

bac

cab

acb

abc

acb

cab

cba

abc

bac

bca

abcd

bacd

bcad

bcda

acbd

cabd

cbad

cbda

acdb

cadb

cdab

cdba

abdc

badc

bdac

bdca

adbc

dabc

dbac

dbca

adcb

dacb

dcab

dcba

 

题目来源

 

5.有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

 

输入

输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。

 

输出

对于每个测试实例,请输出不同走法的数量

 

样例输入

2

2

3

 

样例输出

1

2

 

6.为丰富教工的业余生活,计算机学院决定组织全院职工去郊区的果园摘果子。

为促进同事之间的交流、沟通与协作,学院领导大家可以相互结合摘果,然后再把所摘的果子再分给所有老师。

由于果子新鲜不能集中地大量地堆积在一起,只好把摘的果子分开成若干个一小堆。

大家都比较积极、起劲,摘了很多堆果子,这样每个人都可以分得多堆果子。

工会组长小李也分得若干堆果子。

现在,他要把自己所分得的几堆果子合并为一堆带回家,但是他遇到一个问题:

就是怎样合并这几堆果子才使得合并工作量最小。

他想请你帮他解决这个问题。

注:

规定每合并两堆果子,其工作量是这两堆果子的数量之和。

输入

输入的第一行是一个正整数C(1≤C≤10),表示下面测试案例数目。

对于每一组数据:

第一行一个正整数N,表示果子的堆数(1<=N<=100)

接下来N个整数,表示每堆果子的数量,相互之间由空格分隔。

 

输出

 

输出应包括C行,每行对应一个测试例,输出对应几堆果子的最佳合并工作量。

 

样例输入

2

4

7524

5

26957

 

样例输出

35

65

 

7.Tom设计了一件艺术品,该艺术品由N个构件堆叠而成,N个构件从高到低按层编号依次为1,2,……,N。

艺术品展出后,引起了强烈的反映。

Tom观察到,人们尤其对作品的高端部分评价甚多。

狂热的Tom一激动,对组成该艺术品的N个构件重新组合,比如:

把第6层到第12层的构件搬下来,想一想,然后整体放到剩下构件的第7层下面;过一会儿,又把第2层到第9层的构件搬下来,整体放到剩下构件的第1层下面等等。

于是,Tom在进行了连续若干次“搬来搬去”后,还是这N个构件,又诞生了一件新的艺术品。

编程:

请输出新的艺术品最高十层构件的编号。

 

输入

 

第一行:

NK表示构件的总数和“搬来搬去”的总次数

第2~K+1行:

ABC表示要搬动的构件(即从第A层到第B层)整个放在第C层下面;

如果C等于0,则要搬动的构件将放到最高层。

约束条件10≤N≤20000,1≤k≤1000,1≤A≤B≤N,0≤C≤N-(B-A+1)

 

输出

由十行组成,分别为组成新艺术品的第一层到第十层构件的编号。

 

样例输入

133

6121

290

10138

 

样例输出

6

7

8

9

10

11

12

2

3

4

 

题目来源

 

8.Aseverybodyknows,ourstaffsneedtodoalotofjobstoprepareforZZTICPC’2012.ButIbetyoucannotimagehowterribletoarrangethejobs.Weknow,sometimestherearedependenciesamongthejobs.Wesayjob2dependsonjob1thatmeansbeforestartingjob2wemustfinishjob1.Weassumethatthereisonlyonejobprocessinginonemoment,andanyjobisdependentonnomorethantenjobs.

Whenwemakeupajobs’schedule,weshouldcheckwhetheritisvalid.Nowyourtaskistofindouttheearliesttimeofsomejobs.

 

输入

Inputwillcontainseveraltestcases.ThefirstlineofeachtestcasecontainstwointegernumbersN(1≤N≤10,000)andM.Thejobsarenumberedfrom1toN.youneedtocalculatetheearliestfinishtimeofthejobM.Andthen,thefollowingNlinesdescribejobs.Thefirstlineiscorrespondingthejob1,secondlineiscorrespondingthejob2andsoon.

Eachjob’sdescribinglinecontainsseveralpositiveintegernumbers.Thenumbersareseparatedbyspaces.Thefirstoneoftheithlineshowsthetime(≤100)thatithjobcost.TherestofthenumbersoftheithlinearethejobsonwhichthejobIdepends.

N=0indicatetheendofinputfile.Weguaranteedthereisnocircleondependency.

 

输出

Foreachtestcaseyoushouldoutputoneline,andjustonenumberinthisline.ThenumberistheearliestfinishingtimeofjobM.

 

样例输入

22

3

21

33

3

21

412

0

 

样例输出

5

9

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1