#P1052. 被遗忘的图案密码
被遗忘的图案密码
被遗忘的图案密码
题目描述
在 星火科技大学 的信息安全实验室里,研究员 vvb 是传说中“代码写得飞快、Bug改得更快”的传奇程序员。 但让同学们最震惊的并不是他写代码的速度,而是 ——
他竟然有女朋友! 她的名字叫 QAQ。
某天,QAQ 拿着 vvb 的老旧手机,小米 5s,气呼呼地问:
“你以前的图案解锁密码到底是什么?”
vvb 挠了挠头:
“呃……我……好像忘了……都是用指纹的嘛……”
QAQ(黑脸): “???”
vvb 把自己印象中“可能用过”的所有解锁图案都写给了 QAQ。 但 QAQ 当然知道这个家伙不可能老老实实,里面肯定塞了一堆 根本不符合安卓图案规则的伪造密码。
于是她委托你:
请你判断每一串数字是否是合法的安卓图案解锁轨迹。
安卓图案解锁规则如下:

-
每个点 (1~9) 最多只能使用一次。
-
对于任意一步,如果你从 A 点滑到 B 点,但两者连线的中点是另一个点 C:
-
当且仅当 C 已经被使用过,才能直接连过去。
-
例:1 → 9
-
合法情况是:
- 1→5→9
- 或 5 已经在更早的步骤使用过
-
-
给定 vvb 提供的所有“可能密码”,你的任务是判断它们是否合法。
输入格式
多组输入,读到文件末尾(EOF)为止。 每组输入占一行,包含一串数字(1~9),长度在 1 到 30 之间(本题只要求满足上述两条规则,不要求至少 4 个点)。
输出格式
对于每组输入,输出一行:若合法输出 YES,否则输出 NO。
样例 1
14569
1953
15963
15953
YES
NO
YES
NO