题目
思路
水题,注意英语格式的输出
代码
#include <iostream>
#include <string>
#include<algorithm>
#include<vector>
#include<stack>
#include<map>
#include<set>
#include<queue>
#include<list>
#include<sstream>
#include<string.h>
#include<math.h>
using namespace std;
#define nmax 20000
#define inf 999999
typedef struct {
string name;
string password;
bool changed;
}user;
vector<user> vec;
bool changeWord(user& u) {
bool changed = false;
for (int i = 0; i < u.password.length(); ++i) {
switch (u.password[i])
{
case '0':
changed = true;
u.password[i] = '%';
break;
case '1':
changed = true;
u.password[i] = '@';
break;
case 'l':
changed = true;
u.password[i] = 'L';
case 'O':
changed = true;
u.password[i] = 'o';
break;
default:
break;
}
}
if (changed)
return true;
else
return false;
}
int main()
{
int num;
int changed = 0;
cin >> num;
for (int i = 0; i < num; ++i) {
user user;
cin >> user.name >> user.password;
user.changed = false;
vec.push_back(user);
}
for (auto& p : vec) {
if (changeWord(p)) {
p.changed = true;
changed++;
}
}
if (!changed) {
if (num == 1)
cout << "There is " << num << " account and no account is modified";
else
cout << "There are " << num << " accounts and no account is modified";
}
else {
cout << changed << endl;
for (auto& p : vec) {
if (p.changed)
cout << p.name << " " << p.password << endl;
}
}
}