Вступ
Припустимо, у вас є лінійка з цифрами від 0 до r-1 . Ви розміщуєте мурашник між будь-якими двома числами, і він починає хаотично повзати по лінійці. Лінійка настільки вузька, що мураха не може ходити з однієї позиції в іншу, не переходячи на всі числа між ними. Коли мураха ходить по номеру вперше, ви записуєте його, і це дає вам перестановку r- чисел. Будемо говорити , що перестановка смикатися , якщо вона може бути породжена мураха таким чином. Альтернативно, перестановка p є анци, якщо кожен запис p [i], крім першого, знаходиться в межах відстані 1 від попереднього запису.
Приклади
Довжина-6 перестановок
4, 3, 5, 2, 1, 0
є анци, тому що 3 знаходиться в межах відстані 1 з 4 , 5 знаходиться в межах відстані 1 від 4 , 2 знаходиться в межах відстані 1 від 3 , 1 знаходиться в межах відстані 1 від 2 , а 0 знаходиться в межах відстані 1 від 1 . Перестановка
3, 2, 5, 4, 1, 0
не є мурашкою, тому що 5 не перебуває в межах відстані 1 або 3, або 2 ; мурашник повинен був би пройти через 4, щоб дістатися до 5 .
Завдання
Дано перестановку чисел від 0 до r-1 для якихось 1 ≤ r ≤ 100 у будь-якому розумному форматі, виведіть значення truthy, якщо перестановка є antsy, а значення false - якщо ні.
Тестові справи
[0] -> True
[0, 1] -> True
[1, 0] -> True
[0, 1, 2] -> True
[0, 2, 1] -> False
[2, 1, 3, 0] -> True
[3, 1, 0, 2] -> False
[1, 2, 0, 3] -> True
[2, 3, 1, 4, 0] -> True
[2, 3, 0, 4, 1] -> False
[0, 5, 1, 3, 2, 4] -> False
[6, 5, 4, 7, 3, 8, 9, 2, 1, 0] -> True
[4, 3, 5, 6, 7, 2, 9, 1, 0, 8] -> False
[5, 2, 7, 9, 6, 8, 0, 4, 1, 3] -> False
[20, 13, 7, 0, 14, 16, 10, 24, 21, 1, 8, 23, 17, 18, 11, 2, 6, 22, 4, 5, 9, 12, 3, 15, 19] -> False
[34, 36, 99, 94, 77, 93, 31, 90, 21, 88, 30, 66, 92, 83, 42, 5, 86, 11, 15, 78, 40, 48, 22, 29, 95, 64, 97, 43, 14, 33, 69, 49, 50, 35, 74, 46, 26, 51, 75, 87, 23, 85, 41, 98, 82, 79, 59, 56, 37, 96, 45, 17, 32, 91, 62, 20, 4, 9, 2, 18, 27, 60, 63, 25, 61, 76, 1, 55, 16, 8, 6, 38, 54, 47, 73, 67, 53, 57, 7, 72, 84, 39, 52, 58, 0, 89, 12, 68, 70, 24, 80, 3, 44, 13, 28, 10, 71, 65, 81, 19] -> False
[47, 48, 46, 45, 44, 49, 43, 42, 41, 50, 40, 39, 38, 51, 37, 36, 52, 35, 34, 33, 32, 53, 54, 31, 30, 55, 56, 29, 28, 57, 58, 59, 60, 27, 26, 61, 25, 62, 63, 64, 65, 66, 67, 24, 23, 22, 21, 68, 69, 20, 19, 18, 17, 70, 71, 16, 15, 72, 73, 74, 75, 76, 14, 13, 12, 77, 11, 10, 9, 8, 78, 7, 79, 80, 6, 81, 5, 4, 3, 82, 2, 83, 84, 1, 85, 86, 87, 0, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] -> True
Цікавий факт: для г ^ 1 , існує рівно 2 г-1 засмиканою перестановки довжини г .