本题目目标是实现一个简化版的“割圆”游戏,通过特定的规则来点亮环形分布的一系列灯。
游戏开始时,共有n
盏灯环形分布,编号顺序为1
到n
,初始状态下所有灯均为关闭状态。例如,若n
为7
,则第1
号灯与第2
号和第7
号灯相邻,第2
号灯与第1
号和第3
号灯相邻,以此类推。成功点亮所有灯并将第一个和最后一个灯联结的情军称作“割线”。
m
个数,每个数代表某个灯的编号,并且输入的数可能有重复或仅包含部分编号。1
个输入的数所对应的灯将被自动点亮。m
个输入数后未能点亮所有灯,则输出No
。请根据以上规则进行游戏实现。
n
和m
,满足条件3 <= n <= 1000
和1 <= m <= 10000
。m
个整数,每个整数都在1
到n
之间,表示输入序列。如果完成了“割圆”,则输出两个整数,之间用一个空格隔开,否则输出No
。
7 10 2 3 1 7 5 6 5 4 4 2
2 4
提示
2
,直接被点亮;3
,3
与已亮的2
相邻,被点亮;1
,1
与已亮的2
相邻,被点亮;7
,7
与已亮的1
相邻,被点亮;5
,5
与4
和6
相邻,但4
和6
都没亮,什么都不做;6
,6
与已亮的7
相邻,被点亮;5
,5
与已亮的6
相邻,被点亮;4
,4
与已亮的5
相邻,被点亮;2
,最后点亮的是4
。