Lát nền quảng trường
Đề bài
Mô tả
Quảng trường nhà hát là một hình chữ nhật kích thước mét, được chia thành lưới hàng và cột ô vuông đơn vị. Ô ở hàng , cột được ký hiệu là :
- nếu là ký tự
*thì ô đó đã được lát sẵn; - nếu là ký tự
.thì ô đó còn trống và bạn phải lát nó.
Có hai loại gạch để lựa chọn:
- gạch , giá đồng, phủ đúng ô;
- gạch , giá đồng, phủ đúng ô kề nhau trong cùng một hàng.
Gạch không được xoay (nên không thể phủ hai ô kề nhau theo chiều dọc) và không được cắt thành hai viên .
Bạn phải phủ hết mọi ô trống, hai viên gạch bất kỳ không được chồng lên nhau, và không viên gạch nào được phủ lên ô đã lát sẵn.
Hãy tính tổng chi phí nhỏ nhất để lát hết các ô trống.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số bộ dữ liệu.
- Mỗi bộ dữ liệu gồm:
- Dòng đầu chứa bốn số nguyên , , , : kích thước quảng trường, giá viên gạch và giá viên gạch .
- dòng tiếp theo, mỗi dòng chứa ký tự
.hoặc*mô tả lưới.
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra một số nguyên là tổng chi phí nhỏ nhất.
Ràng buộc
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 1 10 1 . 1 2 10 1 .. 2 1 10 1 . . 3 3 3 7 .. .. .*. |
10 1 20 18 |
Bộ 1: chỉ có một ô trống nên buộc phải dùng gạch dù nó đắt hơn, chi phí . Bộ 2: dùng một viên hết đồng, rẻ hơn hai viên hết đồng. Bộ 3: hai ô trống nằm cùng cột chứ không cùng hàng, mà gạch không được xoay, nên vẫn phải dùng hai viên , chi phí . Bộ 4: ở đây nên viên không bao giờ có lợi; lát cả ô trống bằng gạch hết . |
| 1 3 3 2 4 . ** |
2 | Chỉ còn đúng một ô trống ở góc trên bên phải, lát bằng một viên giá . |
Bình luận