P2727 [USACO3.2] 01串 Stringsobits

题目描述

考虑所有长度为 $N$($1 \le N \le 31$)的二进制串(允许前导零)。将这些串按照其表示的数值从小到大排序,并从中选出那些二进制表示中至多有 $L$ 个 $1$ 的串($0 \le L \le N$)。 给定 $N, L$ 和一个正整数 $i$,你需要输出上述排序后的序列中的第 $i$ 个串(保证第 $i$ 个串存在)。 例:$100101$ 中,$N=6$,含有 $1$ 的个数为 $3$。

输入格式

一行三个整数 $N,L,i$。

输出格式

输出满足条件的第 $i$ 小的二进制数。

说明/提示

题目翻译来自NOCOW。 USACO Training Section 3.2