만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

경계 없는 단어

시간 제한4초메모리 제한512 MB

요약
길이 n인 a와 b로 이루어진 문자열 중 접두사와 접미사가 같은 부분이 없는 단어를 사전순으로 k번째에 찾습니다.
난이도

보통10점 중 7점

유형
문자열 매칭, 동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

단어 ww에 대해, ww와 다르고 빈 단어 ε\varepsilon도 아닌 단어 uu가 존재하여 uu가 ww의 접두사이면서 접미사이면, ww를 bordered라고 한다. 예를 들어 abbababb는 접두사이면서 접미사인 abb가 있으므로 bordered이다. bordered가 아닌 단어는 borderless라고 한다. 예를 들어 aabab는 borderless이다.

문자 a와 b로만 이루어진 길이 nn의 borderless 단어 전체를 생각한다. 이런 단어의 개수를 CnC_n이라 하자. 이 단어들을 사전순으로 정렬하여 1번부터 CnC_n번까지 번호를 매긴다. 주어진 kk에 대해 kk번째 단어를 구하라.

입력

여러 개의 테스트 케이스가 주어진다. 각 테스트 케이스는 한 줄에 정수 nn과 kk가 주어진다 (1≤n≤641 \le n \le 64, 1≤k≤Cn1 \le k \le C_n). 입력의 마지막 줄은 n=k=0n = k = 0이다. 테스트 케이스는 최대 1000개이다.

출력

각 테스트 케이스마다 길이 nn의 borderless 단어 중 kk번째 단어를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    5 1
    5 2
    5 3
    5 4
    5 5
    0 0
    
    예상 출력
    aaaab
    aaabb
    aabab
    aabbb
    ababb