Description:
题目大意:把 password 中的 ‘1’ 换成 ‘@’,把 ‘0’ 换成 ‘%’,把 ’O‘ 换成 ’o‘,把 ’l‘ 换成 ’L‘。
解题思路:
算法标签:模拟
如题所述。
代码:
// TSWorld
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cstring>
#include <vector>
using namespace std;
const int N = 100005;
int main() {
int n = 0;
int ans = 0;
string name,password;
vector<string>ans_name,ans_password;
cin>>n;
for(int i = 1;i <= n;i++) {
bool ishave = false;
cin>>name>>password;
for(int j = 0;j < password.length();j++) {
if(password[j] == '1') {
ishave = true;
password[j] = '@';
}
else if(password[j] == '0') {
ishave = true;
password[j] = '%';
}
else if(password[j] == 'l') {
ishave = true;
password[j] = 'L';
}
else if(password[j] == 'O') {
ishave = true;
password[j] = 'o';
}
}
if(ishave) {
ans++;
ans_name.push_back(name);
ans_password.push_back(password);
}
}
if(n == 1 && ans == 0)
printf("There is 1 account and no account is modified");
else if(n != 1 && ans == 0)
printf("There are %d accounts and no account is modified",n);
else {
cout<<ans<<endl;
for(int i = 0;i < ans;i++)
cout<<ans_name[i]<<" "<<ans_password[i]<<endl;
}
return 0;
}