Packmen
Đề bài
Mô tả
Cho một dải ô gồm ô vuông được đánh số từ đến . Mỗi ô có thể chứa một trong ba ký tự:
P— có một Packman đứng ở ô đó.*— có một viên thức ăn ở ô đó..— ô trống.
Mỗi đơn vị thời gian, mỗi Packman có thể di chuyển sang một ô kề bên (sang trái hoặc sang phải). Khi Packman đi vào một ô có thức ăn, nó ăn viên thức ăn đó ngay lập tức (không tốn thời gian). Một Packman được phép đổi hướng tùy ý nhiều lần nhưng không được rời khỏi dải. Nhiều Packman có thể đứng trên cùng một ô và không cản trở lẫn nhau.
Hãy tìm thời gian nhỏ nhất để tất cả các viên thức ăn đều bị ăn.
Dữ liệu vào
- Dòng đầu chứa số nguyên — độ dài của dải.
- Dòng thứ hai chứa xâu độ dài gồm các ký tự
.,*,Pmô tả dải ô.
Dữ liệu ra
- In ra một số nguyên duy nhất — thời gian nhỏ nhất cần thiết để ăn hết toàn bộ thức ăn.
Ràng buộc
- .
- Đảm bảo có ít nhất một Packman và ít nhất một viên thức ăn.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 ..PP* |
3 | Packman ở vị trí đi sang trái và ăn * ở vị trí sau đơn vị thời gian. Cùng lúc đó, Packman ở vị trí đi sang trái ăn * ở vị trí (mất ), rồi quay lại sang phải ăn * ở vị trí (mất thêm ). Tổng cộng cần đơn vị thời gian. |
| 10 .**PP.P. |
2 | Packman ở vị trí đi sang trái ăn * ở và trong đơn vị. Hai Packman còn lại (vị trí và ) cùng đi sang phải, lần lượt ăn * ở và cũng trong đơn vị. |
Bình luận