CF928A 【Login Verification】

一道小水题 ,注意一下string可以直接比大小的!!模拟一下再比较就好了不需要map
一些细节见代码QAQ

#include <iostream>
#include <cstdio>
#include <cctype> //toupper 和 islower的头文件

using namespace std;

string s, ss;

int n, fl;

int main(){
    getline(cin, s);
    scanf("%d\n",&n);
    for(int i = 0; i < s.length() ; i++)//模拟
    if(s[i] == '1' || s[i] == 'l'|| s[i] == 'i' || s[i] == 'I') s[i] = 'L';//建议弄个小函数套一下否则手贱多打一个s容易WA(比如我)
    else if(islower(s[i])) s[i] = toupper(s[i]);//islower判断大小写, toupper小写变大写
    else if(s[i] == '0') s[i] = 'O';
    for(int i = 1;i <= n; i++){
        getline(cin,ss);
        for(int j = 0; j < ss.length(); j++)//同上
        if(ss[j] == '1' || ss[j] == 'l' || ss[j] == 'i' || ss[j] == 'I') ss[j] = 'L';
        else if(islower(ss[j])) ss[j] = toupper(ss[j]);
        else if(ss[j] == '0') ss[j] = 'O';
        if(ss == s) fl = 1;//直接比较
    }
    if(fl) printf("No\n");
    else printf("Yes\n");
    return 0;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值