密码
1. 题目地址
https://www.acwing.com/problem/content/1521/
2. 题目解析
这道题的题意直接看原题即可,没什么需要解释的。
3. 题解
1. 我们可以用两个string数组来存储已经修改密码的人及已经修改的密码。即,string name[] 和 string pwd[]。
2. 我们还需要一个变量m来存储已经修改密码的人的数量。
3. 如果m等于0,那么我们需要处理特别情况。(看题目即可)
4. 如果m不等于0,那么我们直接将数组当中已经修改密码的人及已经修改的密码按照输入的次序输出即可。
4. 代码
#include <iostream>
#include <cstdio>
using namespace std;
const int N = 1010;
string name[N],pwd[N];
int n;
string change_pwd(string pwd){
string res = "";
for(int i=0;i<pwd.size();i++){
if(pwd[i] == '1'){
res += '@';
}else if(pwd[i] == '0'){
res += '%';
}else if(pwd[i] == 'l'){
res += 'L';
}else if(pwd[i] == 'O'){
res += 'o';
}else {
res += pwd[i];
}
}
return res;
}
int main(){
int m = 0;
scanf("%d",&n);
for(int i=0;i<n;i++){
string cur_name,cur_pwd;
cin >> cur_name >> cur_pwd;
string changed_pwd = change_pwd(cur_pwd);
if(changed_pwd != cur_pwd){
name[m] = cur_name;
pwd[m++] = changed_pwd;
}
}
if(m != 0){
printf("%d\n",m);
for(int i=0;i<m;i++){
cout << name[i] << " " << pwd[i] << endl;
}
}else{
if(n == 1){
printf("There is 1 account and no account is modified");
}else{
printf("There are %d accounts and no account is modified",n);
}
}
return 0;
}
作者:gao79138
链接:https://www.acwing.com/
来源:本博客中的截图、代码模板及题目地址均来自于Acwing。其余内容均为作者原创。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现