Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- bool check1(char a, char b)
- {
- if (a >= 'a' && a <= 'z' && b >= 'A' && b <= 'Z')
- {
- if (b == a - 'a' + 'A')
- return true;
- }
- if (b >= 'a' && b <= 'z' && a >= 'A' && a <= 'Z')
- {
- if (a == b - 'a' + 'A')
- return true;
- }
- return false;
- }
- bool check2(char a, char b)
- {
- if (a =='O')
- {
- if (b == '0' || b == 'o')
- return true;
- }
- if (a =='o')
- {
- if (b == '0' || b == 'O')
- return true;
- }
- if (a =='0')
- {
- if (b == 'O' || b == 'o')
- return true;
- }
- return false;
- }
- bool check3(char a, char b)
- {
- if (a == '1')
- {
- if (b == 'I' || b == 'l' || b == 'i' || b == 'L')
- return true;
- }
- if (a == 'l')
- {
- if (b == 'I' || b == '1' || b == 'i' || b == 'L')
- return true;
- }
- if (a == 'I')
- {
- if (b == '1' || b == 'l' || b == 'i' || b == 'L')
- return true;
- }
- if (a == 'i')
- {
- if (b == '1' || b == 'l' || b == 'I' || b == 'L')
- return true;
- }
- if (a == 'L')
- {
- if (b == '1' || b == 'l' || b == 'I' || b == 'i')
- return true;
- }
- return false;
- }
- int main()
- {
- string s,x;
- int n;
- cin >> s >> n;
- bool ans = true;
- for (int i = 1; i <= n; i++)
- {
- cin >> x;
- if (x.size() != s.size())
- continue;
- if (s == x)
- {
- ans = false;
- continue;
- }
- for (int j = 0; j < s.size(); j++)
- if (check1(s[j], x[j]) || check2(s[j], x[j]) || check3(s[j], x[j]))
- ans = false;
- else if (s[j] != x[j])
- break;
- }
- if (ans)
- cout << "Yes" << endl;
- else
- cout << "No" << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement