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

Tô bàn cờ

Đề bài

Mô tả

Cho một bảng vuông kích thước 8×8, ban đầu mọi ô đều có màu trắng.

Một nước tô là việc chọn một hàng hoặc một cột bất kỳ rồi tô đen cả 8 ô thuộc hàng (cột) đó. Một ô đã đen thì dù bị tô lại bao nhiêu lần cũng vẫn giữ màu đen, và khi nhìn vào bảng kết quả ta không thể biết mỗi ô đen được tạo ra bởi nước tô theo hàng hay theo cột.

Cho trước trạng thái đích của bảng, hãy tìm số nước tô ít nhất cần thực hiện để biến bảng trắng ban đầu thành đúng trạng thái đó. Dữ liệu đảm bảo trạng thái đích luôn có thể đạt được bằng một dãy nước tô hợp lệ.

Dữ liệu vào

Gồm 8 dòng, mỗi dòng chứa 8 ký tự mô tả trạng thái đích của bảng:

  • Ký tự W là ô màu trắng.
  • Ký tự B là ô màu đen.

Dữ liệu ra

In ra một số nguyên duy nhất: số nước tô ít nhất cần thực hiện.

Ràng buộc

  • Bảng có kích thước đúng 8×8.
  • Mỗi ký tự thuộc tập {W, B}.
  • Trạng thái đích luôn đạt được bằng một dãy nước tô hợp lệ.

Ví dụ

Input Output Giải thích
WWWWWWWW
BBBBBBBB
WWWWWWWW
WWWWWWWW
WWWWWWWW
WWWWWWWW
WWWWWWWW
WWWWWWWW
1 Chỉ cần tô hàng thứ hai.
WWWBWWBW
BBBBBBBB
WWWBWWBW
WWWBWWBW
WWWBWWBW
WWWBWWBW
WWWBWWBW
WWWBWWBW
3 Tô hàng thứ hai, cột thứ tư và cột thứ bảy.
BBBBBBBB
BBBBBBBB
BBBBBBBB
BBBBBBBB
BBBBBBBB
BBBBBBBB
BBBBBBBB
BBBBBBBB
8 Bảng toàn đen: tô 8 hàng là đủ, không cần tô thêm cột 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