Envy cần phải thoát khỏi hoàn đảo thật nhanh. Anh đã lấy được chiến lợi phẩm và giờ đây đang bị các thổ dân săn đuổi. Đường thoát khỏi hòn đảo này là 1 đường thẳng dài \(N\) đơn vị độ dài (DVDD), có thể bao gồm cả hố mà envy không thể nhảy qua. Rất may envy có một cỗ máy giúp anh dịch chuyển tức thời tới bất cứ đâu trong phạm vi \(M\) DVDD chỉ trong nháy mắt!!!. Những người thổ dân rất quen thuộc với nơi này nên họ có thể đu dây qua hố để đuổi theo Envy. Vậy câu hỏi đặt ra bây giờ là: liệu Envy có thể thoát ra hay không???
Chi tiết cài đặt
Bạn cần cài đặt hàm sau:
std::string solve(int N, int M, string S)
- \(N\): độ dài đường thẳng.
- \(M\): phạm vi dịch chuyển của cỗ máy dịch chuyển của Envy.
- \(S\): xâu kí tự có độ dài \(N\) chỉ gồm hai kí tự
L
vàH
, trong đóL
là đường đi bình thường,H
là hố. - Hàm này cần trả về giá trị là xâu
YOLO!
nếu Envy có thể chạy thoát, ngược lại cần trả về xâuR.I.P
. - Hàm này được gọi đúng một lần.
Constraint
- \(1 \le M \le N \le 10^5\).
Ví dụ
Xét lời gọi hàm sau:
solve(10,3,"LLHHLHLLLH")
Trong ví dụ này, \(N = 10, M = 3, S =\) LLHHLHLLLH
.
Envy khởi đầu ở vị trí 0, đi bộ tới vị trí thứ 2, sử dụng dịch chuyển với quãng đường là 3 đơn vị độ dài tới vị trí thứ 5, tiếp tục sử dụng dịch chuyển với quãng đường là 2 đơn vị độ dài tới vị trí thứ 7, đi bộ tới vị trí thứ 9, sau đó dịch chuyển với quãng đường là 2 đơn vị độ dài để về đích.
Vậy hàm cần trả về xâu có giá trị YOLO!
.
Bình luận