介绍
假设您有一个标尺,编号从0到r-1。您在任何两个数字之间放置一个蚂蚁,它开始在尺子上不规则地爬行。标尺是如此狭窄,以至于蚂蚁不能不走其间的所有数字就不能从一个位置走到另一位置。当蚂蚁第一次行走在一个数字上时,您将其记录下来,这使您可以对r数进行排列。我们说一个置换是坐立不安,如果它可以通过这种方式蚂蚁产生。或者,如果除第一个条目外的每个条目p [i]都在与某个先前条目的距离1之内,则置换p是无意义的。
例子
长度为6的排列
4, 3, 5, 2, 1, 0
是anty,因为3在距离1的4之内,5在距离1的4之内,2在距离3的距离1之内,1在距离2的距离1之内,以及0在距离1的距离1之内。排列
3, 2, 5, 4, 1, 0
不是蚁群,因为5不在3或2的距离1之内;蚂蚁必须经过4点才能到达5点。
任务
给定的数字的置换从0到R-1由于某种1个≤R≤100以任何合理的格式,输出如果置换是坐立不安一个truthy值和falsy值如果不是。
测试用例
[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
有趣的事实:对于[R≥1 ,恰好有2 R-1长度的坐立不安排列ř。