EduBrick

C. Двоичные строки с ровно K единицами

3000 мс · 256 МБ · всё или ничего

По данным числам NN и KK выведите все строки длины NN из нулей и единиц, содержащие ровно KK единиц, в лексикографическом порядке.

Перебирать все 2N2^N строк и отбрасывать неподходящие нельзя: при N=60N = 60 это безнадёжно, а строк с нужным числом единиц может быть всего несколько.

Правильный перебор не заходит в ветви, где ответа заведомо нет: если единиц уже поставлено KK, дальше идут только нули, а если оставшихся позиций не хватает, ветвь обрывается.

Формат ввода

Одна строка содержит числа NN и KK (0≤K≤N≤1000 \le K \le N \le 100).

Гарантируется, что строк не более 10510^5.

Формат вывода

Все подходящие строки, по одной на строку, в лексикографическом порядке. Если строк нет, вывод пустой.

Примеры

ввод
4 3
вывод
0111
1011
1101
1110
Войдите, чтобы отправлять решения.