博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5-05. QQ帐户的申请与登陆(25)(map运用)(ZJU_PAT)
阅读量:7241 次
发布时间:2019-06-29

本文共 1161 字,大约阅读时间需要 3 分钟。

题目链接:

实现QQ新帐户申请和老帐户登陆的简化版功能。

最大挑战是:据说如今的QQ号码已经有10位数了。

输入格式说明:

输入首先给出一个正整数N(<=105),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)password”。当中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和password。命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10位、但大于1000(据说QQ老总的号码是1001)的整数。password为不小于6位、不超过16位、且不包括空格的字符串。

输出格式说明:

针对每条指令,给出对应的信息:

1) 若新申请帐户成功,则输出“New: OK”;

2) 若新申请的号码已经存在,则输出“ERROR: Exist”;
3) 若老帐户登陆成功,则输出“Login: OK”。
4) 若老帐户QQ号码不存在,则输出“ERROR: Not Exist”;
5) 若老帐户password错误,则输出“ERROR: Wrong PW”。

例子输入与输出:

序号 输入 输出
1
5L 1234567890 myQQ@qq.comN 1234567890 myQQ@qq.comN 1234567890 myQQ@qq.comL 1234567890 myQQ@qqL 1234567890 myQQ@qq.com
ERROR: Not ExistNew: OKERROR: ExistERROR: Wrong PWLogin: OK

PS:

用map模拟搞搞就好!

代码例如以下:

#include 
#include
#include
#include
using namespace std;#include
map
mm;int main(){ int n; string s1, s2, s3; while(~scanf("%d",&n)) { mm.clear(); for(int i = 0; i < n; i++) { cin >>s1>>s2>>s3; if(s1 == "N") { if(mm.find(s2) == mm.end()) { mm.insert(make_pair(s2, s3)); cout<<"New: OK"<
::iterator it; if(mm.find(s2) != mm.end()) { it = mm.find(s2); if(it->second == s3) { cout<<"Login: OK"<

你可能感兴趣的文章
一个优秀的程序员是如何炼成的?
查看>>
区块链的12个技术理解误区,你知道哪些?
查看>>
常用面试编程训练5大网站!
查看>>
对比三大旗舰真正全面屏,荣耀Magic2不学OV,绝不妥协
查看>>
SMILEY黄色笑脸攻占华为授权体验店 网友惊呼“太魔性”!
查看>>
陈林接替张一鸣任今日头条CEO 字节跳动学谷歌进行架构升级
查看>>
万盏彩灯迎新春 江苏大丰梅花湾新春灯会小年夜亮灯
查看>>
33名中国游客护照被偷 驻意大利使馆加班办证获赞
查看>>
天津一商场还原80、90年代家庭过年场景
查看>>
「每天一道面试题」说一下Spring框架中Bean的生存周期
查看>>
云南加快发展乡村旅游 摆脱“美丽的贫困”
查看>>
五大联赛半程战罢:三卫冕冠军强势 两队欲颠覆王权
查看>>
银川机场4万张机场巴士免票送高校学生
查看>>
高校获批数据科学与大数据技术专业,《云计算》教材怎么选?
查看>>
前端面试查漏补缺--Index篇(12万字符合集)
查看>>
大白话说java并发工具类-CountDownLatch,CyclicBarrier
查看>>
玩转 iOS 开发:Aggregate 脚本版本《模拟器与真机静态 Framework 合成教程》
查看>>
String、StringBuffer与StringBuilder
查看>>
ReactNative源码篇:启动流程
查看>>
vue-awesome-swiper 小案例
查看>>