f001: 啟動超強大腦
Tags : 排列 數學 程式
Accepted rate : 18人/19人 ( 95% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-07-12 21:16

Content

有一個影集叫后翼啟兵,裡面講述男主角玩圈圈叉叉得到世界第一。

他為什麼能這麼強呢,因為他有超強大腦,可以預測接下來的所有局面。

他不是會贏,就是會平手,但是平手對他來說就像失敗一樣,所以他要預測所有可能會平手的盤面,盡量去避免它們。

例如,下圖中,最左邊的棋局,其結束時的棋盤面會有右邊四種可能。第一種O贏,第二種平手,第三、四種都是X贏,因此輸出平手的棋盤面數為1。

Input

每筆測資以一行且九個連續符號表示未完成的棋局,前三個符號代表該棋局第一列的三個格子的狀態,第四到第六個符號代表該棋局第二列的三個格子的狀態,第七到第九個符號代表該棋局第三列的三個格子的狀態。這些符號除了「O」與「X」外,以「-」來代表尚未被填入的格子。輸入資料中不會有不合理的棋局出現。「O」與「X」為大寫英文字母,「-」為減號。

Output

先輸出平手的棋盤面數,再依序輸出平手的棋盤面。若不存在平手的棋盤面則輸出0即可。
若平手的棋盤面一個以上,則依各棋盤面資料由上而下由左而右的升冪順序輸出,且各輸出棋盤面之間以一個空白列隔開。每筆輸出測資之間亦以一個空白列隔開。

Sample Input #1
OX--X-XOO
O-OXO-XX-
-O-X--O-X
Sample Output #1
1
OXO
OXX
XOO

0

2
OOX
XOO
OXX

OOX
XXO
OOX

測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (50%): 1.0s , <1K
公開 測資點#1 (50%): 1.0s , <1K
Hint :

不准作弊!

--------------

100%:無特別限制

Tags:
排列 數學 程式
出處:
[管理者:
becaido (Caido)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」