汉语大全>高中信息技术教案>广东省青少年信息学奥林匹克竞赛决(一)

广东省青少年信息学奥林匹克竞赛决(一)

详细内容

如,一个迷宫结如下:

假定特修斯从AC之间通道出发,向C前进,而米牛从FH之间通道出发,向H前进。进入C之后,特修斯进入D,此时,米诺牛也进入G。然后,特修斯从D往G,米诺牛从G往D,这样,米诺牛会在通道里把特修斯杀死。

假如特修斯仍然从AC之间通道出发向C前进,而米诺牛从DG之间通道出发,向G前进。然后特修斯依次进入C、D、G,米诺牛依次进入G、E、F。特修斯进入G后,他发现米诺牛己经到过这里,于是他点了一根蜡烛放在洞里,然后直接从通往E的出口出去,而不是去H。特修斯到达E,米诺牛刚好到达H。米诺牛在从H到G时,发现了G中的火光,于是返回H,这时特修斯已经追到F。然后米诺牛尝试进入E,但仍然折回到H。这样,特修斯刚好赶到H,并把米牛杀死。

输入格式:

迷宫n(3<=n<=26)个石洞。文件一共有n+1行,前n行中,每行第一个大写字母表示某一个石洞,紧接着是一个分号,其后是一串大写字母,表示与其连接石洞(以逆时钟顺序给出)。每个石洞都至少与一个石洞相连,而且一定不会与自己相连。第n+1行以"@"开头,接着两对字母,第一对表示特修斯出发通道,第二对表示米诺牛出发通道。每一对字母都表示从第一个石洞前往第二个石洞。一开始修斯和米不会在同一个通道里。每一行开头和结尾都没有空格,字符之间也没有空格。

输出格式:

输出三种情况:

1、特修斯被米诺牛杀死,输出两行:

2、石洞1 石洞2

表示特修斯在从石洞1通往石洞2的通道里被杀死。

2、特修斯把米诺牛杀死,输出两行:

1、石洞

表示特修斯在该石洞里把米诺牛杀死。

3、谁也杀不了谁,输出一行:

0

输入输出举例:

样例一

Theseus.dat

Theseus.out

A:BCK

2

D G

D:BACG

F:HE

G:HED

B:AD

E:FGH

H:FEG

C:AD

@ACFH

样例二

Theseus.dat

Theseus.out

A:BCK

1

H

D:BACG

F:HE

G:HED

B:AD

E:FGH

H:FEG

C:AD

@ACDG

第三题 旅行〈Travel 〉

提交文件名:tEWeLeyte

问题描述:

GDOI队员们到Z镇游玩。Z镇是一个很特别的城镇,它有m+1条东西方向和n+1条南北方向的道路,划分成m*n个区域。Z镇的名胜位于这些区域内。从上往下数第i行,从左往右数第j列的区域记为D(i,j)。GDOI队员们预先对这m*n个区域打分V(i,j)(分数可正可负)。分数越高表示他们越想到那个地方,越低表示他们越不想去。为了方便集合,队员们只能在某一范围内活动。我们可以用(m1,nl)与(m2,n2)(m1<=m2,n1<=n2)表示这样的一个范围:它是这些区域的集合:{D(i,j)|m1<=I<=m2,n1<=j<=n2}。GDOI队员们希望他们活动范围内的区域的分值总和最大。

当然,有可能队员们一个地方也不去(例如,所有区域的分值都是负数。当然,如果某范串内的分值总和为零的话,他们也会去玩)。也有可能他们游览整个Z镇。你的任务是编写一个程序,求出他们的活动范围(m1,nl),(m2,n2〉。

输入格式:

输入数据存放在当前目录下的文本文件"travel.dat"中。数据有m+1行。第一行有两个数m,n(m,n定义如上)。其中,(1<=m<=250,1<=n<=250)。接下来的m行,每行n个整数,第i行第j个数表示分值V(i,j)(-128<=V(i,j)<=l27)。每两个数之间有一个空格。

输出格式:

答案输出到当前目录下的"travel.out"中,只有一行,分两种情况:

1.队员们在范围(m1,n1),(m2,n2)内活动,输出该范围内的分值。

2.队员们不想去任何地方,只需输出"NO"。

注意:不要有多余空行,行首行尾不要有多余空格。

输入输出举例:

样例一

样例二

Travel.dat

travel.out

Travel.dat

travel.out

4 5

146

2 3

NO

1 ?2 3 ?4 5

-1 ?2 ?1

6 7 8 9 10

-4 ?3 -6

-11 12 13 14 -15

16 17 18 19 20