习题-安卓图案解锁
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;
#define x first
#define y second
int c[10] = {0, 1, 2, 1, 3, 0, 3, 1, 2, 1};
bool st[10];
signed main(){
string s;
while(cin >> s){
memset(st, 0, sizeof st);
bool flag = false;
for(int i = 0; i < s.size() - 1; ++i){
int num1 = s[i] - '0', num2 = s[i+1] - '0';
if(num1 == num2 || st[num2]) {flag = 1; break;}
else if(c[num1] == c[num2] && !st[(num1 + num2) / 2]) {flag = 1; break;}
st[num1] = st[num2 ] = true;
}
if(!flag) cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}