trang chủ / bài tập / errtactoe

Tic-Tac-Toe hoà (Easy)

Đề bài

Mô tả

Cho một bảng Tic-Tac-Toe kích thước n×n. Mỗi ô có thể là ô trống (.) hoặc chứa một quân cờ loại X hoặc O. Trong phiên bản này, bảng ban đầu chỉ chứa quân X (không có quân O).

Một bảng được gọi là hoà nếu không tồn tại ba quân cùng loại liên tiếp trên bất kì hàng hoặc cột nào.

Trong một thao tác, bạn được phép đổi một quân X thành O hoặc đổi một quân O thành X. Bạn không được phép xoá quân hoặc đặt quân mới vào ô trống — số quân và vị trí của chúng được giữ nguyên, chỉ thay đổi loại.

Gọi k là tổng số quân trên bảng. Hãy biến bảng thành hoà bằng tối đa k/3 thao tác. Bài toán đảm bảo luôn tồn tại đáp án; nếu có nhiều đáp án, bạn có thể in ra đáp án bất kì thoả mãn.

Dữ liệu vào

Dòng đầu chứa số nguyên t — số test (1t100).

Mỗi test bắt đầu bằng một dòng chứa số nguyên n — kích thước bảng. n dòng tiếp theo, mỗi dòng chứa một xâu độ dài n mô tả bảng, gồm các kí tự . (ô trống) và X (quân X).

Đảm bảo bảng có ít nhất một quân và tổng n trên tất cả test không vượt quá 300.

Dữ liệu ra

Với mỗi test, in ra n dòng, mỗi dòng là xâu độ dài n mô tả bảng sau khi thao tác. Bảng kết quả phải thoả:

  • Mọi ô trống ở bảng ban đầu vẫn là ô trống.
  • Mọi ô có quân ở bảng ban đầu vẫn có quân (loại X hoặc O).
  • Số ô bị đổi loại không vượt quá k/3.
  • Không có ba quân cùng loại liên tiếp trên bất kì hàng hoặc cột nào.

Ràng buộc

  • 1t100
  • 1n300
  • Tổng n trên tất cả test không vượt quá 300.
  • Bảng ban đầu chỉ chứa .X.

Ví dụ

Input Output Giải thích
3
3
.X.
XXX
.X.
6
XX.XXX
XXXXXX
XXX.XX
XXXXXX
XX.X.X
XXXXXX
5
XXX.X
.X..X
XXX.X
..X..
..X..
.X.
XOX
.X.
XX.XXO
XOXXOX
OXX.XX
XXOXXO
XO.X.X
OXXOXX
XOX.O
.X..X
XXO.X
..X..
..X..
Test 1: k=5, được phép tối đa 5/3=1 thao tác. Chỉ đổi quân giữa thành O là đủ. Test 2: k=32, được phép 10 thao tác — đáp án trên dùng 9. Test 3: k=12, được phép 4 — đáp án dùng 3.
1
6
XXXXXX
XXXXXX
XX..XX
XX..XX
XXXXXX
XXXXXX
XXOXXO
XOXXOX
OX..XX
XX..XO
XOXXOX
OXXOXX
k=32, cho phép tối đa 10 thao tác. Đáp án dùng 10 thao tác và không có ba quân cùng loại liên tiếp nào.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0