Codeforces Round 768 (Div. 1) |
---|
Закончено |
Дан набор из $$$n$$$ ($$$n$$$ всегда равно степени $$$2$$$) элементов, содержащих все целые числа $$$0, 1, 2, \ldots, n-1$$$ единожды.
Найдите $$$\frac{n}{2}$$$ пар элементов таких, что:
Если существует несколько решений, найдите любое из них. Если решений не существует, выведите $$$-1$$$.
Каждый тест состоит из нескольких наборов входных данных. Первая строка ввода содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 400$$$) — количество наборов входных данных. Далее следует их описание.
Каждый набор входных данных состоит из одной строки, содержащей два целых числа $$$n$$$ и $$$k$$$ ($$$4 \leq n \leq 2^{16}$$$, $$$n$$$ — степень $$$2$$$, $$$0 \leq k \leq n-1$$$).
Сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2^{16}$$$. Все наборы в каждом тесте будут различными.
Для каждого набора входных данных, если решения не существует, выведите одну строку, содержащую $$$-1$$$.
В противном случае выведите $$$\frac{n}{2}$$$ строк, $$$i$$$-я их них должна содержать $$$a_i$$$ и $$$b_i$$$ — элементы $$$i$$$-й пары.
Если существует несколько решений, выведите любое. Порядок пар и элементов в парах не имеет значения.
4 4 0 4 1 4 2 4 3
0 3 1 2 0 2 1 3 0 1 2 3 -1
В первом наборе входных данных $$$(0\&3)+(1\&2) = 0$$$.
Во втором наборе $$$(0\&2)+(1\&3) = 1$$$.
В третьем наборе $$$(0\&1)+(2\&3) = 2$$$.
В четвертом наборе решения не существует.
Название |
---|