QJ3852 - Hiệp sĩ nhỏ vượt hồ axit
Xem dưới dạng PDFHiệp sĩ nhỏ đến trước một hồ axit rộng $n$ , chạm vào axit sẽ thất bại. Trên mặt hồ có các mũi chông (ký hiệu +), hiệp sĩ nhỏ có thể dừng lại tạm thời trên chông, mỗi lần lao về phía trước một khoảng cách không vượt quá $d$ ( $n$ và $d$ đều là số nguyên dương, và $d \le n$ ).
Quy tắc di chuyển của hiệp sĩ nhỏ: lặp lại các bước lao tới → dừng trên chông cho đến khi sang được bờ bên kia.
Mỗi lần lao tới đi được khoảng cách $\le d$
Chỉ được dừng ở vị trí có chông, không được dừng ở vị trí axit (
-)
Hãy tìm số lần lao tới ít nhất để hiệp sĩ nhỏ sang được bờ bên kia, nếu không thể sang được thì in ra $-1$ .
Dữ liệu vào
Dữ liệu vào gồm hai dòng.
Dòng đầu tiên: số nguyên dương $d$ ( $1 \le d \le n-1$ )
Dòng thứ hai: xâu độ dài $n$ không chứa khoảng trắng, gồm các ký tự
+và-+: vị trí đó có chông-: vị trí đó là axit
Dữ liệu ra
In ra một số nguyên, là số lần lao tới ít nhất; nếu không thể sang được thì in ra $-1$ .
Ví dụ
Input
5
+--++--++++
Output
3
Ghi chú
Giải thích ví dụ
Hồ rộng $n=10$ , khoảng cách lao tối đa $d=5$ .
Đường đi tối ưu:
Từ điểm xuất phát, lao $4$ đơn vị đến vị trí $5$ (chông)
Lao $5$ đơn vị đến vị trí $10$ (chông)
Lao $1$ đơn vị để sang bờ bên kia
Tổng cộng lao $3$ lần.
Giới hạn dữ liệu
Với $100%$ số test:
$1 \le n \le 1000$ , $1 \le d \le n-1$
Nhận xét