COCI 2020/2021 - Contest 3 - Selotejp

View as PDF

Submit solution

Points: 1.50 (partial)
Time limit: 1.0s
Memory limit: 512M
Input: stdin
Output: stdout

Suggester:
Problem source:
COCI 2020/2021 - Contest 3
Problem types
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Đối với Mirko, không có hạnh phúc nào lớn hơn việc tìm thấy một cuộn băng dính mới, và ngày hôm nay anh ấy đặc biệt hạnh phúc vì anh ấy còn tìm thêm được cuốn lịch Advent của Slavko.

Cuốn lịch Advent có thể biểu diễn như một bảng hình chữ nhật với ~n~ hàng và ~m~ cột, mỗi ô vuông chứa một cửa sổ nhỏ, và đằng sau mỗi cửa sổ là một miếng sô cô la. Slavko đã mở một số ô trong số đó, còn những cửa sổ khác vẫn đang đóng.

Mirko quyết định sử dụng cuộn băng dính của anh ấy để dán lại tất cả những cửa sổ đóng. Cuộn băng dính thì dài vô tận, và nó có chiều rộng bằng ~1~ ô của cuốn lịch. Mirko có thể xé một đoạn băng dính và dùng nó để dán một đoạn liền kề những ô cửa sổ đã đóng theo chiều dọc hoặc chiều ngang. Anh ấy không muốn dán nhiều hơn một lớp băng dính lên bất kì cửa sổ nào, vì anh ấy vẫn muốn giữ tình bạn với Slavko.

Anh ấy đang tự hỏi rằng, anh ấy cần tối thiểu bao nhiêu mẩu băng dính để dán lại hết các cửa sổ đóng trong cuốn lịch.

Input

Dòng dầu tiên chứa ~2~ số nguyên ~n~ và ~m~ ~(1 \le n \le 1000, 1 \le m \le 10)~, các kích thước của cuốn lịch Advent.

Mỗi dòng trong số ~n~ dòng sau chứa ~m~ kí tự .# , biểu diễn cuốn lịch Advent.

Kí tự . mô tả một ô cửa sổ mở, và kí tự # biểu diễn một ô cửa sổ đóng

Output

In ra số lượng nhỏ nhất các mẩu băng dính cần thiết để dán hết những ô cửa sổ đóng

Sample 1

Input
2 3
#.#
###
Output
3

Sample 2

Input
4 3
.#.
###
.##
.#.
Output
3

Sample 3

Input
4 4
####
#.#.
#.##
####
Output
5

Giải thích test ví dụ đầu tiên

Một giải pháp có thể đưa ra là sử dụng một đoạn băng dính cho cột đầu tiên, một đoạn cho cột thứ ~3~ và một đoạn cho ô cửa sổ ở hàng thứ ~2~ và cột thứ ~2~

Subtask

Có ~10~ test thỏa mãn: mỗi ô cửa sổ đóng liền kề với tối đa ~2~ ô cửa sổ đóng khác

Có ~8~ test thỏa mãn: ~1 \le n \le 10~

Có ~10~ test còn lại: không có ràng buộc gì thêm


Comments

Please read the guidelines before commenting.



  • 29
    madv809  commented on Dec. 13, 2021, 6:52 a.m.

    Mình có viết vài thứ hay ho về bài này:v, nếu bạn cảm thấy thích thì vào đọc nhé:v

    https://hackmd.io/@Editorial-Slayers/manh01dpbitmask