CF928A Login Verification
题目描述
登录名是由小写和大写拉丁字母、数字和下划线符号“_”组成的任意序列。
如果登录名与已经存在的登录名类似,则禁止注册。
如果我们可以通过以下类型的操作组成的序列将S转化成T,则认为S,T是类似的。
- 将小写字母转换为大写字母,将大写字母转换为小写字母
- 将字母“O”更改为数字“0”,将数字“0”更改为字母“O”
- "1""l""L"相互转化
例如,
登录名«codeforces»和«codefwrces»,
«oo0oo00oo0oo0oo0oo_lol»和«oo0oo0oo0oo0oo0oo0oo0oo0oo_1oo»是类似的,
而«codeforces»和«code_forces»则不是。
给你一个登录名的列表,其中没有两个类似的登录名。
检查新登录名是否和已有登录名类似。
------------
输入格式
第一行包括一个非空字符串s(新登录名),由小写和大写拉丁字母、数字和下划线符号_组成,长度不超过50。
第二行是一个整数n,1
输出格式
如果登录名合法(不与已有登录名类似),输出Yes。
否则输出No
说明/提示
In the second sample case the user wants to create a login consisting of three zeros. It's impossible due to collision with the third among the existing.
In the third sample case the new login is similar with the second one.