— Расскажи про бонусный уровень. Тот, где зонд ездит по
поверхности сферы и собирает ресурсы.
— Сначала мне нужно было разбить поверхность сферы на ячейки. Для этого
я вписал в неё куб, каждая грань которого расчерчена на n × n
квадратов. Затем я спроецировал сетку с поверхности куба на поверхность
сферы так, чтобы центр этой проекции был общим центром сферы и куба. Так поверхность
сферы оказалась расчерчена на 6n2 ячеек, каждая из которых представляет собой по форме
сферический четырёхугольник. По этим ячейкам может перемещаться
автоматический зонд. При этом зонд обязан покидать ячейку через
противоположную сторону от той, через которую он попал в эту ячейку. Кроме того,
зонду запрещается проезжать через узлы сетки.
— А дальше?
— Дальше нужно было распределить ресурсы по ячейкам. Это оказалось
более трудной задачей. Я хотел, чтобы в каждой ячейке находилось некоторое
целое количество ресурсов в пределах от 1 до 6n2, причём для любых двух
ячеек это количество должно было быть различным. Кроме этого, чтобы уменьшить роль
везения, я решил провести распределение так, чтобы количество ресурсов,
собираемых зондом за один его полный цикл по сфере, не зависело ни от
ячейки, в которой он изначально расположен, ни от направления его
движения. Полный цикл, как нетрудно понять, всегда содержит ровно 4n
ячеек. Проезжая по ним, зонд возвращается в ячейку, из которой он начал
свой путь и все ресурсы которой им уже собраны.
— И ты смог решить эту задачу?
— Да, но для этого пришлось поломать голову. Кстати, можешь попробовать
решить её сам.
Исходные данные
В единственной строке записано целое число n (1 ≤ n ≤ 100).
Результат
Выведите 6n2 различных целых чисел в пределах от 1 до 6n2 —
количество ресурсов в каждой из ячеек сферы.
Вывод должен восприниматься как некоторая развёртка куба в форме буквы T.
Используйте формат, приведённый в примере.
Пример
исходные данные | результат |
---|
2
| 20 13
11 8
3 15 19 4 12 24 18 5
1 7 9 23 21 17 6 16
10 22
14 2
|
Автор задачи: Денис Дублённых
Источник задачи: XVII Открытый чемпионат Урала по спортивному программированию (май, 2013)