셀룰러 오토마타
시간 제한1초메모리 제한512 MB
w와 길이 2^(2w+1)의 이진 문자열 s가 주어질 때, s 이상이면서 어떤 초기 상태에서도 1의 개수가 변하지 않는 가장 작은 규칙 문자열 p를 구합니다.
문제
w를 양의 정수, p를 길이가 인 문자열이라 하자. -셀 오토마타는 다음과 같이 정의된다.
- 셀은 무한히 긴 1차원 직선 위에 놓여 있다.
- 각 셀은 0 또는 1 중 하나의 상태를 가질 수 있다.
- 시각 0에 Snuke가 유한 개의 셀을 골라 상태를 1로 설정한다. 나머지 모든 셀의 상태는 0이다.
- 시각 에서 셀 의 상태 는 시각 의 셀 의 상태로부터 다음 규칙으로 정해진다.
Snuke는 시각 0의 상태를 어떻게 고르든 1의 개수가 영원히 변하지 않으면 그 셀 오토마타를 좋아한다. 정수 w와 문자열 s가 주어진다. s ≤ p이고 Snuke가 -셀 오토마타를 좋아하는 p 중 사전순으로 가장 작은 p를 구하라.
입력
첫째 줄에 정수 w (1 ≤ w ≤ 3)가 주어진다. 둘째 줄에 길이가 이고 '0'과 '1'로만 이루어진 문자열 s가 주어진다.
출력
가능한 가장 작은 p를 출력한다. 그런 문자열이 없으면 "no"를 출력한다.