introduzione
Supponiamo di avere un righello con numeri da 0 a r-1 . Metti una formica tra due numeri qualsiasi e inizia a strisciare in modo irregolare sul righello. Il righello è così stretto che la formica non può camminare da una posizione all'altra senza camminare su tutti i numeri in mezzo. Quando la formica cammina su un numero per la prima volta, lo registri e questo ti dà una permutazione dei numeri r . Diciamo che una permutazione è ansiosa se può essere generata da una formica in questo modo. In alternativa, una permutazione p è ansiosa se ogni voce p [i] eccetto la prima è entro la distanza 1 da una voce precedente.
Esempi
La permutazione lunghezza-6
4, 3, 5, 2, 1, 0
è ansioso, perché 3 è a distanza 1 di 4 , 5 è a distanza 1 di 4 , 2 è a distanza 1 da 3 , 1 è a distanza 1 da 2 e 0 è a distanza 1 da 1 . La permutazione
3, 2, 5, 4, 1, 0
non è ansioso, perché 5 non è entro la distanza di 3 o 2 ; la formica dovrebbe passare attraverso 4 per arrivare a 5 .
L'obiettivo
Data una permutazione dei numeri da 0 a r-1 per circa 1 ≤ r ≤ 100 in qualsiasi formato ragionevole, emettere un valore di verità se la permutazione è ansiosa e un valore di falsa in caso contrario.
Casi test
[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
Curiosità: per r ≥ 1 , ci sono esattamente 2 r-1 permutazioni antsy di lunghezza r .