QJ3852 - Hiệp sĩ nhỏ vượt hồ axit

Xem dưới dạng PDF

Gửi bài giải

Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 128M

Tác giả:
Kiểu bài tập

Hiệ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.

  1. Dòng đầu tiên: số nguyên dương $d$ ( $1 \le d \le n-1$ )

  2. Dòng thứ hai: xâu độ dài $n$ không chứa khoảng trắng, gồm các ký tự +-

    • +: 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:

  1. Từ điểm xuất phát, lao $4$ đơn vị đến vị trí $5$ (chông)

  2. Lao $5$ đơn vị đến vị trí $10$ (chông)

  3. 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

Không có ý kiến tại thời điểm này.