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

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

사전순 K번째 애너그램

면접 대비

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

요약
단어와 순위 K가 주어지면 그 단어의 서로 다른 애너그램을 사전 순으로 나열할 때 K번째 문자열을 출력합니다.
난이도

보통10점 중 5점

유형
조합론, 문자열
정답자
아직 제출이 없습니다

문제

문자열의 애너그램은 원래 문자열과 같은 문자를 전부 그대로 써서 만든 문자열이다. 원래 문자열도 자기 자신의 애너그램에 포함된다.

예를 들어 ACM의 애너그램은 사전순으로 ACM, AMC, CAM, CMA, MAC, MCA 6개다. ICPC의 애너그램은 사전순으로 CCIP, CCPI, CICP, CIPC, CPCI, CPIC, ICCP, ICPC, IPCC, PCCI, PCIC, PICC 12개다.

문자열과 순위 KK가 주어지면 사전순으로 KK번째 애너그램을 구한다.

입력

각 줄에 질의 하나가 원래 단어와 순위 KK 순서로, 공백을 사이에 두고 주어진다. 단어는 대문자 A부터 Z까지만 쓰며 길이는 16 이하다. KK는 1 이상이고 그 단어의 서로 다른 애너그램 개수 이하다. # 0인 줄이 나오면 입력이 끝난다. 이 줄은 질의가 아니다.

가장 큰 경우 KK가 16!=2092278988800016! = 20922789888000에 이르므로 64비트 정수에 담아야 한다. Java는 long, C++는 long long을 쓰면 된다.

출력

질의마다 그 단어의 사전순 KK번째 애너그램을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    ACM 5
    ICPC 12
    REGION 274
    # 0
    
    예상 출력
    MAC
    PICC
    IGNORE
    
  2. 예제 2

    입력
    A 1
    # 0
    
    예상 출력
    A