这里先不讨论本题 hack 中出现 Standard Program Time Limit Exceeded 和 Standard Program Runtime Error 的现象。(因为说不定 hack 数据根本不合法)
我觉得比起这题本身的做法,更值得令人注意的是“如何判定一个输入合法”。
首先给出:这题的 val 是有问题的。
比如这样一组数据:
5 1 4 2 3 4 5 2 4 1 2 5 1 2 1 2 2 1 3 ? 1 2
图画出来是这样的:(本题输入规定,按照顺时针输入邻居,所以不能把 3 转到 4 的右边)

明显看出这是有交叉的,而且无论怎样调整都是有交叉的。
然而当我尝试提交这组数据,发现居然没有 Invalid Input。
所以这个 val 该怎么写?(还是说根本就写不了?)