JOI 2021 - Round Sugoroku
Xem PDFAoi, học sinh trường trung học JOI, vừa mua một bộ trò chơi sugoroku mới. Bàn chơi gồm \(N+2\) ô xếp thành một hàng ngang, được đánh số từ \(0\) đến \(N+1\) từ trái sang phải. Ban đầu, hai ô \(0\) và \(N+1\) ghi ký tự X; ô \(i\) (\(1 \le i \le N\)) ghi ký tự \(S_i\), là . hoặc #.
Aoi chơi bằng một quân cờ. Ban đầu, quân cờ được đặt ở ô \(A\) (\(1 \le A \le N\)), quay sang phải. Ký tự \(S_A\) là .. Cứ sau mỗi giây, Aoi di chuyển quân cờ một ô theo hướng quân cờ đang quay.
Trò chơi có các quy tắc sau:
- Khi quân cờ đến ô ghi
X, nó đổi sang hướng ngược lại. - Khi quân cờ đến ô ghi
., không có gì xảy ra. - Khi quân cờ đến ô ghi
#, nó đổi sang hướng ngược lại, đồng thời ký tự trên ô đó được đổi thành.. Vì vậy, những lần sau khi quân cờ đến ô này, nó không đổi hướng nữa.
Thời gian đổi hướng và thay đổi ký tự được xem là không đáng kể.
Cho trạng thái ban đầu của bàn chơi và quân cờ, hãy viết chương trình tính thời gian cần thiết để không còn ô nào ghi #.
Dữ liệu vào
Dòng thứ nhất chứa hai số nguyên \(N, A\).
Dòng thứ hai chứa xâu \(S\) có độ dài \(N\), trong đó ký tự thứ \(i\) (\(1 \le i \le N\)) là \(S_i\).
Dữ liệu ra
In ra trên một dòng số giây cần thiết để không còn ô nào ghi #.
Ràng buộc
- \(2 \le N \le 200\,000\).
- \(1 \le A \le N\).
- \(S_i\) là
.hoặc#với mọi \(1 \le i \le N\). - \(S_A\) là
.. - Có ít nhất một chỉ số \(i\) (\(1 \le i \le N\)) mà \(S_i\) là
#.
Phân nhóm
Mọi phân nhóm đều thỏa mãn các ràng buộc chung ở trên.
- (40 điểm) \(N \le 3000\).
- (60 điểm) Không có ràng buộc bổ sung.
Ví dụ
Ví dụ 1
Input
7 3
.#.#..#
Output
8
Giải thích
Trạng thái bàn chơi thay đổi theo thời gian như dưới đây. Ký hiệu > biểu diễn ô đang có quân cờ quay sang phải, còn < biểu diễn ô đang có quân cờ quay sang trái. Số đứng trước mỗi trạng thái là thời gian đã trôi qua, tính bằng giây.
0: X.#>#..#X
1: X.#.<..#X
2: X.#<...#X
3: X.>....#X
4: X..>...#X
5: X...>..#X
6: X....>.#X
7: X.....>#X
8: X......<X
Sau \(8\) giây, không còn ô nào ghi #, nên in ra \(8\).
Ví dụ 2
Input
4 1
.#.#
Output
7
Giải thích
Trạng thái bàn chơi thay đổi theo thời gian như dưới đây. Ký hiệu > và < lần lượt biểu diễn quân cờ quay sang phải và sang trái; số đứng trước mỗi trạng thái là thời gian đã trôi qua, tính bằng giây.
0: X>#.#X
1: X.<.#X
2: X<..#X
3: >...#X
4: X>..#X
5: X.>.#X
6: X..>#X
7: X...<X
Sau \(7\) giây, không còn ô nào ghi #, nên in ra \(7\).
Ví dụ 3
Input
6 6
#####.
Output
35
Nguồn
Bản dịch tiếng Việt từ đề gốc tiếng Nhật của Ủy ban Olympic Tin học Nhật Bản. Đề gốc và bản dịch được cung cấp theo giấy phép CC BY-SA 4.0.
Kỳ thi:
- JOI 2021 - Vòng loại 2 (13 Tháng 12., 2020)
Bình luận