廣東省青少年信息學奧林匹克競賽決
與此同時,米諾牛也在尋找特修斯。雖然它身體龐大,行動遲緩,但是它很了解迷宮的結構,所以它的移動速度與特修斯一樣快。當特修特從一條通道出來進入某個石洞它也同時進入某個石洞。每次進入石洞之后,它先向左轉,然后沿順時針方向前進,它找到一個自己沒有做過標記的洞口,就做上標記,然后進入其中。在通道里候,如果它發現它將要進入的那個石洞里有蠟燭火光,那么它會轉回到剛才的洞里。
例如,一個迷宮結如下:
假定特修斯從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〉。