아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

깜빡임

면접 대비

시간 제한1초메모리 제한128 MB

요약
각 전구는 이전 시각에 왼쪽 이웃이 켜져 있었을 때만 상태가 바뀐다. 전구 수 N은 16 이하이고 시간 B는 10^15까지 주어질 때 B단계 뒤의 상태를 구한다.
난이도

보통10점 중 7점

유형
행렬, 비트 연산, 수학, 분할 정복
정답자
아직 제출이 없습니다

문제

농부 John은 헛간의 어두운 조명이 마음에 들지 않아, 원형으로 배열된 NN (3≤N≤163 \le N \le 16)개의 전구로 이루어진 새 샹들리에를 설치했습니다.

젖소들은 이 새 조명을 좋아하여 다음과 같은 놀이를 합니다. 매 시각 TT마다, 각 전구는 자신의 왼쪽 이웃 전구가 시각 T−1T-1에 켜져 있었을 때에만 상태(켜짐↔꺼짐)를 바꿉니다. 전구들은 원형으로 놓여 있으므로 11번 전구의 왼쪽 이웃은 NN번 전구입니다. 젖소들은 이 과정을 BB (1≤B≤10151 \le B \le 10^{15})번 반복합니다. BB는 32비트 정수의 범위를 넘을 수 있습니다.

전구들의 초기 상태가 주어질 때, 정확히 BB번의 시각이 지난 뒤의 상태를 구하세요.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 NN과 BB.
  • 2…N+12 \dots N+1번째 줄: i+1i+1번째 줄에는 ii번 전구의 초기 상태가 주어지며, 00(꺼짐) 또는 11(켜짐)입니다.

출력

  • 1…N1 \dots N번째 줄: ii번째 줄에 BB번의 시각이 지난 뒤 ii번 전구의 최종 상태를 출력합니다. 00(꺼짐) 또는 11(켜짐)입니다.

힌트

N=5N = 5이고 첫 번째 전구만 켜져 있는 경우(1 0 0 0 0), 상태는 다음과 같이 변합니다.

시각상태
T=0T=01 0 0 0 0
T=1T=11 1 0 0 0
T=2T=21 0 1 0 0
T=3T=31 1 1 1 0
T=4T=41 0 0 0 1
T=5T=50 1 0 0 1
T=6T=61 1 1 0 1

따라서 B=6B = 6번이 지나면 전구는 1 1 1 0 1이 됩니다.

예제1

  1. 예제 1

    입력
    5 6
    1
    0
    0
    0
    0
    
    예상 출력
    1
    1
    1
    0
    1