Life in an array


Submit solution

Points: 2 (partial)
Time limit: 1.0s
Memory limit: 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho một dãy nhị phân (dãy chỉ gồm các số \(0\) hoặc \(1\)). Tại thời điểm \(t\) gọi \(S_t\) là số bit \(1\) trong dãy, phần tử \(e\) trong dãy tại thời điểm \(t + 1\) được cập nhật như sau:

  • Nếu \(S_t + e\) lẻ thì phần tử này chuyển thành bit \(1\).
  • Nếu \(S_t + e\) chẵn thì phần tử này chuyển thành bit \(0\).

Bạn hãy viết chương trình xác định trạng thái các phần tử tại thời điểm \(t_0\).

Đầu vào

Dòng đầu tiên chứa số nguyên \(t_0\).

Dòng thứ hai chứa một dãy nhị phân được được viết liền biểu thị trạng thái các phần tử tại thời điểm \(0\).

Đầu ra

Một dãy nhị phân trên một dòng biểu thị trạng thái của các phần tử tại thời điểm \(t_0\).

Giới hạn

Gọi \(l\) là độ dài của xâu nhị phân.

\(50\%\) số test có \(1 \le l, t0 \le 1000\)

\(50\%\) số test còn lại \(1 \le t_0, l \le 10^6\).

Ví dụ

Đầu vào:

3
11111

Đầu ra:

00000
QDUY

Comments

There are no comments at the moment.