Коды Грея
Сгенерируем последовательность чисел в двоичной системе счисления. Генерацию начнем с последовательности
0
1
Отобразим последовательность симметрично относительно горизонтальной прямой, и припишем ноль спереди к числам первой половины и единицу к числам второй половины. Получим
00
01
11
10
Повторив процесс еще раз, получим 8 чисел
000 0
001 1
011 3
010 2
110 6
111 7
101 5
100 4
Соответствующие десятичные числа для каждого сгенерированного двоичного числа приведены справа.
Построенные последовательности называются отображенными кодами Грея соответственно для 1, 2 и 3 бит. Кодами Грея для n бит называется последовательность из 2n разных n-битовых целых чисел с тем свойством, что любые две соседние последовательности отличаются друг от друга только в одном бите. Отображенные коды Грея строятся как показано выше.
Технические условия
Входные данные
Первая строка содержит количество тестов N (не более 250000). Каждый тест состоит из одной строки, которая содержит два целых числа n (1 ≤ n ≤ 30) и k (0 ≤ k < 2n).
Выходные данные
Для каждого теста в отдельной строке вывести число в k-ой позиции n-битовых отображенных кодов Грея.
Информация о задаче
Лимит времени: 1 секундаЛимит памяти: 64 MB
Баллы за пройденный тест: 20
Сложность: 3% 103/106
Классификация: Итерация и рекурсия
Пример
Пример входных данных14 1 0 1 1 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 |
Пример выходных данных0 1 0 1 3 2 0 1 3 2 6 7 5 4 |
| ← Разбиение треугольника | Список задач | Нечетные делители → |
