Bedao Regular Contest 23 - Bật tắt đèn

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Quân có ~N~ bóng đèn được đặt trên một hàng ngang và được đánh số từ ~1~ đến ~N~ theo thứ tự từ trái sang phải. Bóng đèn thứ ~i~ đang ở trạng thái ban đầu là ~S_i = 0 / 1~, với ~0~ có nghĩa là tắt và ~1~ là bật. Quân sau đó sẽ thực hiện thao tác sau ~K~ lần:

  • Đầu tiên, Quân tìm tập ~A~ là tập các bóng đèn ~i~ hiện tại thỏa mãn ~1 < i < N~ và đèn thứ ~i - 1~ và ~i + 1~ đều được bật.

  • Sau đó Quân đồng thời thay đổi trạng thái của các bóng đèn trong tập ~A~ (từ bật thành tắt, từ tắt thành bật).

Cho ~N~, ~K~ và trạng thái các bóng đèn ban đầu, bạn hãy tìm trạng thái của các bóng đèn sau khi Quân thực hiện ~K~ thao tác.

Input

Dòng đầu chứa hai số nguyên ~N~, ~K~ (~1 \le N \le 2~ x ~10 ^ 5~, ~1 \le K \le 10^9~).

Dòng sau chứa một xâu nhị phân ~S~ gồm đúng ~N~ kí tự là trạng thái ban đầu của các bóng đèn.

Output

In ra một xâu gồm ~N~ kí tự là trạng thái của các bóng đèn sau ~K~ thao tác.

Scoring

Subtask Điểm ~N, K~
1 ~50\%~ ~1 \leq N, K \leq 5000~
2 ~50\%~ Không có giới hạn gì thêm

Sample Input 1

6 2
110111

Sample Output 1

100111

Sample Input 2

5 3
10101

Sample Output 2

10001

Notes

Ở test ví dụ 1:

  • Ban đầu: ~110111~

  • Sau thao tác đầu tiên: ~111101~

  • Sau thao tác thứ hai: ~100111~

Vậy đáp án là ~100111~

Ở test ví dụ 2:

  • Ban đầu: ~10101~

  • Sau thao tác đầu tiên: ~11111~

  • Sau thao tác thứ hai: ~10001~

  • Sau thao tác thứ ba: ~10001~

Vậy đáp án là ~10001~


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.