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
Comments