1035 Password (20 分)
题解:
写一个change函数 实现 更换字母的功能
记录change过后的 密码 是否与原密码相同
不同的话已修改的用户名的密码 跟修改的数量 然后输出结果
代码:
#include<iostream>
using namespace std;
const int N=1010;
string name[N],pwd[N];
string change(string str)
{
string res;
for(auto c: str)
if(c=='1') res+= '@';
else if(c=='0') res+= '%';
else if(c=='l') res+= 'L';
else if(c=='O') res+= 'o';
else res+=c;
return res;
}
int main()
{
int n;
cin>>n;
int m=0;
for(int i=0;i<n;i++)
{
string cur_naem,cur_pwd;
cin>>cur_naem>>cur_pwd;
string changed_pwd=change(cur_pwd);
if(changed_pwd!=cur_pwd)
{
name[m]=cur_naem;
pwd[m]=changed_pwd;
m ++;
}
}
if(!m)
{
if(n==1) puts("There is 1 account and no account is modified");
else printf("There are %d accounts and no account is modified",n);
}
else
{
cout<<m<<endl;
for(int i=0;i<m;i++) cout<<name[i]<< ' '<<pwd[i]<<endl;
}
return 0;
}