2011年10月29日 星期六

255 - Correct Move

在一個正方形棋盤上有64個位置,並被付予0~63的編號,如下圖所示。在棋盤上放置兩個棋子,一為國王一為皇后,國王與皇后所在的位置被稱為「狀態」 (state),只要雙方不在同一個位置就被視為「合法的狀態」,國王與皇后交互移動,國王可以在垂直或水平的方向移動一格,但不能移動到皇后所在的位置,皇后可在垂直或水平的方向上移動一到多格,且不能移動到與國王相遇(即國王所在的位置及其後的位置),以上所有的移動方式稱為「合法的移步」。請注意棋子皆不能作對角線的移動。

tabular24

例如我們將國王放置在17的位置,將皇后放置在49的位置,如下左圖所示。國王合法的移步方式為9, 16, 18, 25,皇后合法的移步方式為25, 33, 41, 48, 50, 51, 52, 53, 54, 55, 57。我們此時再引入一個限制:一個棋子不能移動到另一個棋子可移動的範圍,一個合法的移步方式只要滿足這項限制則稱為「允許的移步」,如下左圖中,國王與皇后的允許的移步分別以(tex2html_wrap_inline187)與(tex2html_wrap_inline189)表示。下右圖中國王無法做任何移步(稱為被鎖死的)。

tex2html_wrap215 \ tex2html_wrap217

本題請你檢查皇后的移步方式是否正確。

Input

輸入有多組測試資料,每組一列,每列有三個整數,分別介於0~63,並以一個空白字元隔開。前兩個整數分別表示國王與皇后的位置,第三個整數表示皇后移動到哪個位置,你的程式必須判斷:
  • 初始位置是否是「合法的狀態」
  • 皇后的移步是否是合法的。
  • 皇后的移步是否是被允許的。
除此之外,若滿足以上三種情況,你的程式還需要進一步判斷皇后移步之後,國王是否處於鎖死的狀態。

Output

請對每組測試資料輸出以下其中一種情況:
  • Illegal state
  • Illegal move
  • Move not allowed
  • Continue
  • Stop
"Illegal state"表示給定的狀態是不合法的,即兩棋子在同一位置。
"Illegal move"表示給定的狀態是合法的,但皇后的移步是不合法的。
"Move not allowed"表示狀態與皇后的移步都是合法的,但移步卻是不被允許的。
"Continue"與"Stop"表示狀態合法,且皇后的移步亦是被允許的,若國王可移動到下一個位置,請輸出"Continue",若被鎖死請輸出"Stop"。

Sample Input

 17 17 49
 17 49 56
 17 49 9
 17 49 17
 17 49 25
 17 49 33
 17 49 41
 17 49 49
 56 48 49

Sample Output

Illegal state
Illegal move
Illegal move
Illegal move
Move not allowed
Continue
Continue
Illegal move
Stop


原文出處

沒有留言:

張貼留言