핑크빈과 블랙빈은 문자 과 로 구성된 길이 인 문자열을 가지고 게임을 한다. 둘은 각각 번의 턴을 진행하며, 핑크빈이 먼저 시작하여 번갈아 가며 턴을 진행한다. 각 턴에서 핑크빈과 블랙빈은 문자열에서 임의의 한 글자를 제거한다. 문자열의 중간에 있는 한 글자가 제거되면 남은 부분이 이어 붙어서 하나의 문자열이 된다.
이 게임에서 핑크빈의 목표는 번의 턴이 모두 끝나고 남은 문자열을 이진수로 해석했을 때, 가능한 작은 값이 되게 하려는 것이다. 이 문제에서 이진수 표현은 제일 앞 자리가 인 것을 허용한다. 블랙빈의 목표는 번의 턴이 모두 끝나고 남은 문자열을 이진수로 해석했을 때, 가능한 큰 값이 되게 하려는 것이다.
핑크빈과 블랙빈이 모두 최선을 다한다고 가정했을 때 마지막에 남는 길이 인 문자열을 출력하는 프로그램을 작성하라.
입력 형식
첫 줄에는 문자열의 길이를 나타내는 정수 과 턴의 수 가 공백으로 구분되어 주어진다. ( )
그다음 줄에 과 로 구성된 길이 인 문자열이 주어진다.
출력 형식
첫 줄에 번의 턴이 지난 후, 길이 인 남은 문자열을 출력한다.
예제
입력
8 2 10110101
출력
1101
예제 설명
문자열 에서 첫 턴에 핑크빈이 세 번째 글자를 제거하여 문자열은
로 바뀐다.
그다음 턴에 블랙빈이 네 번째 글자를 제거하여 문자열은
로 바뀐다.
그다음 턴에 핑크빈이 세 번째 글자를 제거하여 문자열은
로 바뀐다.
마지막 턴에 블랙빈이 두 번째 글자를 제거하여 문자열은
로 바뀐다.
채점 방식
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 8점
종류 2: 13점
종류 3: 33점
종류 4: 46점
추가적인 제한 조건이 없음.
해설
핑크빈의 최선 전략은 가장 왼쪽부터 개의 을 제거하는 것이고, 블랙빈의 최선 전략은 가장 왼쪽부터 개의 을 제거하는 것임을 증명할 수 있다. 만약, 더 이상 제거할 숫자가 없다면 아무거나 제거하면 된다. 따라서, 시간복잡도 에 답을 구할 수 있다.