注意参数传递要引用
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<string>
#include<set>
using namespace std;
struct rec{
string name;
string pw;
};
vector<rec> mod_rec;
bool ismod(string &s){
bool flag = true;
for(int i = 0; i < s.size(); i++){
if(s[i] == '1'){
s[i] = '@';
flag = false;
}
else if(s[i] == '0'){
s[i] = '%';
flag = false;
}
else if(s[i] == 'l'){
s[i] = 'L';
flag = false;
}
else if(s[i] == 'O'){
s[i] = 'o';
flag = false;
}
}
if(flag == true) return true;
else return false;
}
int main(){
int n;
cin>>n;
for(int i = 0; i < n; i++){
rec a;
cin>>a.name>>a.pw;
if(!ismod(a.pw)){
mod_rec.push_back(a);
}
}
int count = mod_rec.size();
if(count == 0){
if(n == 1){
printf("There is %d account and no account is modified",n);
}
else{
printf("There are %d accounts and no account is modified",n);
}
}
else{
cout<<count<<endl;
for(int i = 0; i < mod_rec.size(); i++){
printf("%s %s\n",mod_rec[i].name.c_str(),mod_rec[i].pw.c_str());
}
}
return 0;
}