COCI 2020/2021 - Contest 3 - Selotejp

Xem dạng PDF

Gửi bài giải

Điểm: 1,50 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Người đăng:
Nguồn bài:
COCI 2020/2021 - Contest 3
Dạng bài
Ngôn ngữ cho phép
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


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 36
    madv809  đã bình luận lúc 13, Tháng 12, 2021, 6:52

    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