trang chủ / đề bài / clearmat

Xóa ma trận

Đề bài

Mô tả

Cho một ma trận f gồm 4 hàng và n cột. Mỗi ô của ma trận là một dấu sao (*) hoặc một dấu chấm (.).

Bạn được phép thực hiện thao tác sau không giới hạn số lần: chọn một ma trận con vuông kích thước k×k (với 1≤k≤4) nằm trọn trong f và thay tất cả các ô của ma trận con đó thành dấu chấm. Chọn ma trận con kích thước k×k tốn ak đồng.

Hỏi số tiền tối thiểu phải trả để biến mọi dấu sao trong f thành dấu chấm là bao nhiêu?

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n — số cột của f.
  • Dòng thứ hai chứa bốn số nguyên a1,a2,a3,a4 — chi phí cho ma trận con kích thước 1×1, 2×2, 3×3, 4×4.
  • Bốn dòng tiếp theo, mỗi dòng gồm n ký tự mô tả một hàng của ma trận f. Mỗi ký tự là dấu chấm hoặc dấu sao.

Dữ liệu ra

In ra một số nguyên duy nhất — chi phí tối thiểu cần thiết.

Ràng buộc

  • 4≤n≤1000
  • 1≤ai≤1000

Ví dụ

Input Output Giải thích
4
1 10 8 20
***.
***.
***.
...*
9 Dùng một thao tác 3×3 ở góc trên-trái (chi phí 8) và một thao tác 1×1 ở góc dưới-phải (chi phí 1).
7
2 1 8 2
.***...
.***..*
.***...
....*..
3 Dùng một thao tác 4×4 phủ cột 2–5 (chi phí 2) và một thao tác 2×2 ở các hàng 2–3 cột 6–7 (chi phí 1).
4
10 10 1 10
***.
*..*
*..*
.***
2 Hai thao tác 3×3 chồng lên nhau: một ở góc trên-trái, một ở các hàng 2–4 cột 2–4.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0