NC13585. 安卓图案解锁
描述
输入描述
多组输入 每组输入占一行,包含一串数字(1~9),长度不超过30
输出描述
输出这个安卓图案解锁是否合法,如果合法输出"YES",反之输出"NO" (请参照样例输出,不要输出引号)
示例1
输入:
14569 1953 15963 15953
输出:
YES NO YES NO
C++ 解法, 执行用时: 20ms, 内存消耗: 428K, 提交时间: 2022-07-05 17:59:00
#include<bits/stdc++.h> using namespace std; int main() { for(string c;cin>>c;) { int a[9]={0},f[9]={1,2,1,3,0,3,1,2,1},i=0,x,y; for(;i<c.size()-1;i++) { x=c[i]-'0',y=c[i+1]-'0'; if(x==y||a[x-1]||a[y-1])goto e; a[x-1]=1; if(f[x-1]==f[y-1]&&!a[(x+y)/2-1])goto e; }puts("YES");continue; e:puts("NO"); } }