线性表练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、火车出栈序列

(train.pas)

【题目描述】

输入n(n列火车),输出火车出栈的所有可能顺序。

【输入样例】

3

【输出样例】

3 2 1

2 3 1

2 1 3

1 3 2

1 2 3

【数据规模】

3<=n<=12

二、括号匹配

(LongestRegularBracketsSequence.pas)

【题目描述】

对一个由(,),[,]括号组成的字符串,求出其中最长的括号匹配子串。具体来说,满足如下条件的字符串称为括号匹配的字符串:1.(),[]是括号匹配的字符串

2.若A是括号匹配的串,则(A),[A]是括号匹配的字符串

3.若A,B是括号匹配的字符串,则AB也是括号匹配的字符串。例如,(),[],([]),()()都是括号匹配的字符串,而][,[()],(]则不是。

字符串A的子串是指由A中连续若干个字符组成的字符串。

例如:A,B,C,ABC,CAB,ABCABC都是ABCABC的子串空串是任何字符串的子串。

【输入格式】

输入一行,为一个仅由()[]组成的非空字符串。

【输出格式】

输入也仅有一行,为最长的括号匹配子串。若有相同长度的子串,

输出位置靠前的子串。

【数据规模】

对20%的数据,字符串长度<=100;

对50%的数据,字符串长度<=10,000;

对100%的数据,字符串长度<=1,000,000;

三、马的最短步数

(horse.pas)

【题目描述】

求马在棋盘上从某个起点到某个终点的最少步数。

【输入格式】

第一行,n,m,表示棋盘有n行m列;(2

【输出格式】

一个整数,即最少步数。

【输入样例】:

2 3

1 1

2 3

【输出样例】:

1

四、细胞数目

(cell.pas)

【题目描述】

一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。

【输入格式】:

整数m,n(m行,n列)(n,m<=1000)

矩阵

【输入格式】:

细胞的个数。

样例:

【输入样例】:

4 10

023*******

1034560500

2045600671

0000000089

【输出样例】:

4

五、素数路

(prime.pas)

【问题描述】

内阁大臣非常沮丧,他收到了安全部长的消息:他们都需要改变办公室的四位房间号码。

安全部长:经常换换房间号码是出于安全方面的考虑,可以让敌人陷入迷惑。

内阁大臣:但是我选择1033作为我的房间号是出于我个人的偏爱。我可是内阁大臣。

安全部长:你不就是喜欢素数吗?我们给你安排了8179这个号码,你只需要贴四个新数字覆盖住以前的四个老数字就可以了。

内阁大臣:不行,没有那么容易。当我把1033的1用8盖住的时候,8033可不是个素数!

安全部长:我知道,你不能允许你的门上出现非素数。

内阁大臣:正确!所以我必须找到一个方法从1033修改到8179,使得过程中门上出现的永远是素数,而且每次只能够修改当前数字的一位。

这个时候,在旁边偷听的财政大臣忍不住来插嘴。

财政大臣:千万不要为了这个事情增加不必要的开支!我知道换一个数字就是要花一磅!

内阁大臣:那我需要一个计算机来规划一下。

财政大臣:我能够帮助你!

现在这个任务就交给你了。你要从一个四位数的素数出发,每次修改其中的一位,并且要保证修改的结果还是一个素数,还不能出现前导零。你要找到一个修改次数最少的方案,得到我们所需要的素数。

关于1033怎么变到8179,这里是一个最短的方策:

1033

1733

3733

3739

3779

8779

8179

修改了6次,所以要花6磅。

【输入格式】

一行,两个四位的素数(没有前导零),表示初始数和目标数。

【输出格式】

一个数,表示最少的操作次数。如果不可能,输出“Impossible”

相关文档
最新文档