JOI 2016 - Russian Flag

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Để chào mừng IOI 2016 tổ chức tại Nga, chủ tịch K muốn làm một lá cờ. Ông lấy từ kho một lá cờ cũ gồm \(N\) hàng và \(M\) cột; mỗi ô có màu trắng, xanh lam hoặc đỏ.

Ông muốn sơn lại một số ô để tạo thành cờ Nga, được định nghĩa như sau:

  • Một hoặc nhiều hàng trên cùng hoàn toàn màu trắng.
  • Một hoặc nhiều hàng tiếp theo hoàn toàn màu xanh lam.
  • Một hoặc nhiều hàng còn lại hoàn toàn màu đỏ.

Hãy tìm số ô ít nhất cần sơn lại.

Dữ liệu vào

  • Dòng đầu chứa \(N,M\) (\(3\le N,M\le50\)).
  • \(N\) dòng tiếp theo, mỗi dòng là một xâu dài \(M\). Ký tự W, B, R lần lượt biểu diễn màu trắng, xanh lam, đỏ.

Dữ liệu ra

In ra số ô ít nhất cần sơn lại.

Chấm điểm

Có 5 bộ dữ liệu chấm, mỗi bộ trị giá 20 điểm.

Ví dụ

Ví dụ 1

Input
4 5
WRWRW
BWRWB
WRWRW
RWBWR
Output
11
Giải thích

Trong ví dụ này, có thể sơn lại 11 ô để tạo cờ Nga và không thể dùng ít ô hơn.

Ví dụ 2

Input
6 14
WWWWWWWWWWWWWW
WBBBWWRRWWBBBW
WWBWWRRRRWWBWW
BWBWWRRRRWWBWW
WBBWWWRRWWBBBW
WWWWWWWWWWWWWW
Output
44

Nguồn

Kỳ thi sơ loại Olympic Tin học Nhật Bản 2015/2016, bài 3.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: