진수 정렬 (Hard)
시간 제한1초메모리 제한1024 MB
길이 N인 모든 M진수를 M-1의 개수, 그다음 M-2의 개수 순으로 오름차순 정렬하고 개수가 모두 같으면 뒤집은 수의 오름차순으로 정렬할 때, 주어진 M진수의 0부터 시작하는 위치를 구한다.
문제
한별이는 길이 의 진수를 모두 모은 뒤 특별한 방식으로 정렬하려 한다.
정렬 기준은 다음과 같다.
- 진수 내 인 자릿수의 개수로 오름차순 정렬한다.
- 의 개수가 같다면 인 자릿수의 개수로 오름차순 정렬한다.
- ...
- 의 개수가 같다면 인 자릿수의 개수로 오름차순 정렬한다.
- 진수 내 모든 숫자의 개수가 같다면 진수를 뒤집었을 때의 오름차순으로 정렬한다.
예를 들어, 이 2이고 이 3일 때 진수는 다음 순서로 정렬된다.
- 00
- 10
- 01
- 11
- 20
- 02
- 21
- 12
- 22
어느날 친구 선린이가 찾아와 길이가 인 진수 하나를 주며 몇 번째 위치에 있는지 알려달라고 했다. 하지만 한별이는 다른 일이 많아 아직 진수들을 정렬하지 못했다. 한별이를 도와주자!
입력
첫째 줄에 과 이 공백을 사이에 두고 주어진다.
둘째 줄에 길이 의 진수 가 주어진다.
진수는 0으로 시작할 수 있다.
출력
주어진 진수와 길이가 같은 모든 진수를 정렬하였을 때, 주어진 진수는 몇 번째 위치에 있는지 출력한다.
위치는 0번부터 시작한다.