Sample Input 1:
3 Team000002 Rlsp0dfa Team000003 perfectpwd Team000001 R1spOdfaSample Output 1:
2 Team000002 RLsp%dfa Team000001 R@spodfaSample Input 2:
1 team110 abcdefg332Sample Output 2:
There is 1 account and no account is modifiedSample Input 3:
2 team110 abcdefg222 team220 abcdefg333Sample Output 3:
There are 2 accounts and no account is modified
#include <iostream>
#include <string>
#include <iomanip>
#include <vector>
using namespace std;
struct USERINFO
{
string username;
string password;
int flag;
USERINFO()
{
flag = 0;
}
};
int IsModify(string &password)
{
int flag = 0;
for (int i = 0; i < password.length(); i++)
{
switch (password[i])
{
case '1':
password[i] = '@';
flag = 1;
break;
case '0':
password[i] = '%';
flag = 1;
break;
case 'l':
password[i] = 'L';
flag = 1;
break;
case 'O':
password[i] = 'o';
flag = 1;
break;
default:
break;
}
}
return flag;
}
int main()
{
int N;
cin>>N;
int count = 0;
vector<USERINFO> V;
for (int i = 0; i < N; i++)
{
USERINFO info;
cin>>info.username>>info.password;
info.flag = IsModify(info.password);
if (info.flag == 1)
{
count++;
}
V.push_back(info);
}
if (count == 0)
{
if (N > 1)
{
cout<<"There are "<<N<<" accounts and no account is modified";
}
else
{
cout<<"There is 1 account and no account is modified";
}
return 0;
}
cout<<count<<endl;
for (int i = 0; i < N; i++)
{
if (V[i].flag == 1)
{
cout<<V[i].username<<" "<<V[i].password<<endl;
}
}
return 0;
}