TopCoder

FHVirus
$\Huge 8e7 二分圖判斷範例程式碼有錯,道歉!$

User's AC Ratio

64.0% (144/225)

Submission's AC Ratio

16.0% (194/1212)

Tags

Description

大家應該都有玩過「井字遊戲」吧?
在這個遊戲中,先手是O,後手是X。兩人輪流在一個井字形狀的棋盤中的一個空格畫上O或X,一旦出現同樣的O(或X)連成一條線(直的、橫的或對角線),那麼遊戲終止,且先手(或後手)獲勝。如果九個格子都被填滿,還沒有人獲勝,那麼遊戲也終止,且兩個人平手。

我們用3x3的字元陣列代表一個盤面,例如:

...
.O.
OXX

其中'.'代表空格,'O'以及'X'分別代表先手和後手所放置的符號。

喔當然,裡面不能出現其它字元的。

現在給你一個盤面,請你判斷這個盤面是否為遊戲過程、或遊戲終止時可能的盤面?

Input Format

總共有3列,每列3個字元,總共九個字元。

Output Format

如果這個盤面是遊戲過程或遊戲終止時可能的盤面,請你輸出"POSSIBLE",否則輸出"IMPOSSIBLE"。

Sample Input 1

...
...
...

Sample Output 1

POSSIBLE

Sample Input 2

..O
.O.
OXX

Sample Output 2

POSSIBLE

Sample Input 3

..O
.O.
O..

Sample Output 3

IMPOSSIBLE

Sample Input 4

XOX
OOX
OXO

Sample Output 4

POSSIBLE

Sample Input 5

ORZ
...
...

Sample Output 5

IMPOSSIBLE

Hints

這題沒有那麼簡單喔!

※2008/02/04題目敘述更正:感謝su_horng。

Problem Source

原TIOJ1056 / C/C++程式設計入門。Problem Setter: Tmt,TimeString,TDYa127

Subtasks

No. Testdata Range Score
1 0 10
2 1 10
3 2 10
4 3 10
5 4 10
6 5 10
7 6 10
8 7 10
9 8 10
10 9 10

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 262144 1
1 1000 65536 262144 2
2 1000 65536 262144 3
3 1000 65536 262144 4
4 1000 65536 262144 5
5 1000 65536 262144 6
6 1000 65536 262144 7
7 1000 65536 262144 8
8 1000 65536 262144 9
9 1000 65536 262144 10