題目八:Password
我的代碼:
#include<iostream>
#include<string>
#include<map>
using namespace std;
typedef struct {
string id;
string keyword;
int mod;
}student;
int main(){
map<char,char>m;
m['1'] = '@',m['0'] = '%',m['l'] = 'L',m['O'] = 'o';
int N,count = 0;
cin>>N;
student stu[N];
for(int i = 0;i < N;i++){
int flag = 0;
cin>>stu[i].id>>stu[i].keyword;
stu[i].mod = 0;
//replace 1 (one) by @, 0 (zero) by %, l by L, and O by o
for(int j = 0;j<stu[i].keyword.size();j++){
if(stu[i].keyword[j] == '1' ||stu[i].keyword[j] == '0'||stu[i].keyword[j] == 'l'||
stu[i].keyword[j] == 'O') {
stu[i].keyword[j] = m[stu[i].keyword[j]];
stu[i].mod = 1;
flag = 1;
}
}
if(flag) count++;
}
if(count != 0){
cout<<count<<endl;
for(int i = 0;i < N;i++){
if(stu[i].mod == 1) cout<<stu[i].id<<' '<<stu[i].keyword<<endl;
}
}
else {
cout<<"There"<<' ';
N >=2 ? cout<<"are"<<' '<<N<<' '<<"accounts" : cout<<"is"<<' '<<N<<' '<<"account";
cout<<' '<<"and no account is modified";
}
}