题目大意 题目链接 检查是否有相似的用户名, 有就输出no, 没有就输出yes, 它有如下规则: 大小写字母互相转换将大写拉丁字母O和数字0互换数字1和字母L,I互换 思路 一开始多想了, 这么多情况, 后来想着想着发现全都换成一种格式比较就好了~也发现了一个很有意思的函数 AC代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include<bits/stdc++.h> using namespace std; int main() { string s, t; int n; cin >> s >> n; for (int i = 0; i < s.size(); i++) { s[i] = tolower(s[i]); // 将大写转换为小写 if (s[i] == 'o') s[i] = '0'; if (s[i] == 'l') s[i] = '1'; if (s[i] == 'i')s[i] = '1'; } while (n--) { cin >> t; for (int i = 0; i < t.size(); i++) { t[i] = tolower(t[i]); if (t[i] == 'o') t[i] = '0'; if (t[i] == 'l')t[i] = '1'; if (t[i] == 'i')t[i] = '1'; } if (s == t) { puts("No"); return 0; } } puts("Yes"); return 0; } 1 恰似你一低头的温柔,娇弱水莲花不胜寒风的娇羞, 我的心为你悸动不休。 --mingfuyan