introduction
Supposons que vous ayez une règle avec des nombres de 0 à r-1 . Vous placez une fourmi entre deux des nombres et elle commence à ramper de manière erratique sur la règle. La règle est si étroite que la fourmi ne peut pas marcher d'une position à une autre sans marcher sur tous les chiffres entre les deux. Lorsque la fourmi découvre un numéro pour la première fois, vous l’enregistrez, ce qui vous donne une permutation des nombres r . Nous disons qu'une permutation est angoissante si elle peut être générée de cette manière par une fourmi. Alternativement, une permutation p est antsy si chaque entrée p [i] sauf la première est à une distance de 1 d'une entrée précédente.
Exemples
La permutation de longueur 6
4, 3, 5, 2, 1, 0
est antsé, parce que 3 est dans la distance 1 de 4 , 5 est dans la distance 1 de 4 , 2 est dans la distance 1 de 3 , 1 est dans la distance 1 de 2 , et 0 est dans la distance 1 de 1 . La permutation
3, 2, 5, 4, 1, 0
n'est pas nerveux, car 5 n'est pas à la distance 1 de 3 ou 2 ; la fourmi devrait passer par 4 pour arriver à 5 .
La tâche
Étant donné une permutation des nombres de 0 à r-1 pour quelque 1 ≤ r ≤ 100 dans un format raisonnable, donne une valeur de vérité si la permutation est antsy, et une valeur de fausseté sinon.
Cas de 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
Anecdote: pour r ≥ 1 , il existe exactement 2 r-1 permutations antsy de longueur r .