설명
숨은 컴퓨터광인 농부 존(Farmer John)은 모든 소에 이진수 라벨을 붙인다. 그런데 존은 약간 미신을 믿는 편이라, "1" 비트가 정확히 K개 (1 <= K <= 10)인 이진수로만 소에 라벨을 붙인다. 물론 각 라벨의 맨 앞 비트는 항상 "1"이다. FJ는 가능한 가장 작은 유효한 라벨, 즉 모든 비트가 "1"인 K비트 수부터 시작하여, 수가 커지는 순서로 라벨을 배정한다. 안타깝게도 존은 라벨을 어디까지 붙였는지 잊어버려서 당신의 도움이 필요하다. 존이 배정해야 할 N번째 (1 <= N <= 10^7) 라벨을 구하시오.
제약
입력 형식
첫째 줄: 공백으로 구분된 두 정수 N과 K.
출력 형식
FJ가 배정해야 할 N번째 라벨(이진수).
Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일
cowids.in · 출력을 쓸 파일 cowids.out예제 1
입력
7 3출력
10110설명
Input details: Among all binary numbers containing exactly 3 "1" bits, FJ wants to output the 7th in increasing sorted order.
문제 정보
riseoj 작성
출처 올림피아드 > USACO > 2011-2012 > February > Silver
태그