PAT 1035 Password
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<queue> #include<vector> #include<cmath> #include<iomanip> #include<algorithm> using namespace std; struct Account { char chUser[15]; char chPass[15]; bool isModified; }; bool modify(char *pass) { bool ret = false; int len = strlen(pass); for(int i=0; i<len; i++) { if(pass[i] == '1') { pass[i] = '@'; ret = true; } else if(pass[i] == '0') { pass[i] = '%'; ret = true; } else if(pass[i] == 'l') { pass[i] = 'L'; ret = true; } else if(pass[i] == 'O') { pass[i] = 'o'; ret = true; } } return ret; } int main() { int N,i; vector<Account> v; Account ac; int iCount = 0; cin>>N; for(i=0; i<N; i++) { cin>>ac.chUser; cin>>ac.chPass; ac.isModified = modify(ac.chPass); if(ac.isModified) iCount++; v.push_back(ac); } if(iCount == 0) { if(N == 1) cout<<"There is 1 account and no account is modified"<<endl; else cout<<"There are "<<N<<" accounts and no account is modified"<<endl; } else { cout<<iCount<<endl; for(i=0; i<v.size(); i++) if(v[i].isModified) cout<<v[i].chUser<<" "<<v[i].chPass<<endl; } return 0; }
多学习,多总结。