Олимпиадный тренинг

Задача . B. Перемешивание


Задача

Темы: *особая задача

Да, это еще одна конструктивная задача про перестановки.

Вам дано целое число \(n\). Вам нужно построить перестановку \(p\) размера \(n\), т. е. массив из \(n\) целых чисел, где каждое целое число от \(1\) до \(n\) встречается ровно один раз.

Каждая пара соседних элементов в перестановке (\(p_i\) и \(p_{i+1}\)) должна удовлетворять следующему условию:

  • если одно из них делится на другое, должно выполняться условие \(p_i < p_{i+1}\);
  • в противном случае должно выполняться условие \(p_i > p_{i+1}\).
Входные данные

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 99\)) — количество наборов входных данных.

Каждый набор входных данных состоит из одной строки, содержащей одно целое число \(n\) (\(2 \le n \le 100\)).

Выходные данные

Для каждого набора входных данных выведите ответ следующим образом:

  • если не существует перестановки размера \(n\), удовлетворяющей условию задачи, выведите \(-1\);
  • в противном случае выведите \(n\) различных целых чисел от \(1\) до \(n\) — требуемую перестановку. Если существует несколько ответов, выведите любой из них.

Примеры
Входные данныеВыходные данные
1 2
5
10
1 5 2 4 3
1 2 10 9 7 4 8 3 6 5

time 2000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя