1035. Password (20)

来源:互联网 发布:c socket多线程编程 编辑:程序博客网 时间:2024/04/28 12:37

1.简单的字符串处理

2.注意0,1个没有修改是,是is,大于1个是,是are

//#include<string>//#include <iomanip>#include<vector>#include <algorithm>//#include<stack>#include<set>#include<queue>#include<map>//#include<unordered_set>#include<unordered_map>//#include <sstream>//#include "func.h"//#include <list>#include<stdio.h>#include<iostream>#include<string>#include<memory.h>#include<limits.h>using namespace std;char replace(char a){switch (a){case'1':return '@';case'0':return '%';case'l':return 'L';case'O':return 'o';default:return a;}}int main(void){int n;cin >> n;vector<pair<string, string>> ans(0);for (int i = 0; i < n; i++){string name, pw;cin >> name >> pw;bool re = false;for (int i = 0; i < pw.size(); i++){if (pw[i] == '1' || pw[i] == '0' || pw[i] == 'l' || pw[i] == 'O'){pw[i] = replace(pw[i]);re = true;}}if (re){ans.push_back({ name, pw });}}if (ans.size() == 0){if (n<=1)printf("There is %d account and no account is modified\n", n);elseprintf("There are %d accounts and no account is modified\n", n);}else{cout << ans.size() << endl;for (int i = 0; i < ans.size(); i++)cout << ans[i].first << " " << ans[i].second << endl;}return 0;}


0 0
原创粉丝点击