printРабочее место участника

printЗадачи

2431. Прогулка в лабиринте

Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Лабиринт строится следующим образом. Лабиринт L(`k`) имеет размер `2^k` и строится из 4 лабиринтов L(`k-1`). Две верхних части лабиринта L(`k`) повторяют структуру L(`k-1`), часть в левом нижнем углу — структуру L(`k-1`), повернутого по часовой стрелке, а часть в правом нижнем углу — структуру L(`k-1`), повернутого против часовой стрелки. На рисунке показаны планы лабиринтов L(1), L(2), L(3).

39833.png

Аня зашла в лабиринт, сделала несколько шагов и теперь не знает, где она находится. Напишите программу, которая определяет координаты Ани в лабиринте по размеру лабиринта и количеству сделанных ею шагов.
Первая строка ввода содержит два целых числа `N` и `M` (`M\ ≤\ N^2`) – размеры лабиринта и количество шагов. Число `N` является степенью числа 2.
Вывести два целых числа — координаты Ани в лабиринте.

Пример ввода 1

4 10

Пример вывода 1

3 4

Пример ввода 2

8 19

Пример вывода 2

2 6
Описание подзадач и системы оценивания
Подзадача 1 (50 баллов)
`2\ ≤\ N\ ≤\ 8`
В этой подзадаче 10 тестов, каждый тест оценивается в 5 баллов. Баллы за каждый тест начисляются независимо.
Подзадача 2 (50 баллов)
Необходимые подзадачи: 1.
`16\ ≤\ N\ ≤\ 32768`
В этой подзадаче 25 тестов, каждый тест оценивается в 2 балла. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки на каждом тесте для всех подзадач.
loading