307998: CF1450C2. Errich-Tac-Toe (Hard Version)
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Errich-Tac-Toe (Hard Version)
题意翻译
给定一张 $n$ 行 $n$ 列的棋盘,每个格子可能是空的或包含一个标志,标志有 $\text{X}$ 和 $\text{O}$ 两种。 如果有三个相同的标志排列在一行或一列上的三个连续的位置,则称这个棋盘是一个 **胜局**, 否则称其为 **平局**。 ![示意图](https://i.loli.net/2021/02/18/F6Dto8diKIZmRSv.png) 例如,上图第一行的局面都是胜局,而第二行的局面都是平局。 在一次操作中,你可以将一个 $\text X$ 改成 $\text O$,或将一个 $\text O$ 改成 $\text X$。 设棋盘中标志的总数为 $k$,你需要用不超过 $\lfloor \frac{k}{3}\rfloor$ 次操作把给定的局面变成平局。 $1\leq n\leq 300$。题目描述
The only difference between the easy and hard versions is that tokens of type O do not appear in the input of the easy version. Errichto gave Monogon the following challenge in order to intimidate him from taking his top contributor spot on Codeforces. In a Tic-Tac-Toe grid, there are $ n $ rows and $ n $ columns. Each cell of the grid is either empty or contains a token. There are two types of tokens: X and O. If there exist three tokens of the same type consecutive in a row or column, it is a winning configuration. Otherwise, it is a draw configuration. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1450C2/39afc6239351b009b5f556b0fc6f685f7842a873.png) The patterns in the first row are winning configurations. The patterns in the second row are draw configurations. In an operation, you can change an X to an O, or an O to an X. Let $ k $ denote the total number of tokens in the grid. Your task is to make the grid a draw in at most $ \lfloor \frac{k}{3}\rfloor $ (rounding down) operations. You are not required to minimize the number of operations.输入输出格式
输入格式
The first line contains a single integer $ t $ ( $ 1\le t\le 100 $ ) — the number of test cases. The first line of each test case contains a single integer $ n $ ( $ 1\le n\le 300 $ ) — the size of the grid. The following $ n $ lines each contain a string of $ n $ characters, denoting the initial grid. The character in the $ i $ -th row and $ j $ -th column is '.' if the cell is empty, or it is the type of token in the cell: 'X' or 'O'. It is guaranteed that not all cells are empty. The sum of $ n $ across all test cases does not exceed $ 300 $ .
输出格式
For each test case, print the state of the grid after applying the operations. We have proof that a solution always exists. If there are multiple solutions, print any.
输入输出样例
输入样例 #1
3
3
.O.
OOO
.O.
6
XXXOOO
XXXOOO
XX..OO
OO..XX
OOOXXX
OOOXXX
5
.OOO.
OXXXO
OXXXO
OXXXO
.OOO.
输出样例 #1
.O.
OXO
.O.
OXXOOX
XOXOXO
XX..OO
OO..XX
OXOXOX
XOOXXO
.OXO.
OOXXO
XXOXX
OXXOO
.OXO.