PAT QQ帳戶的申請與登陸(25)(map的應用)

QQ帳戶的申請與登陸(25)

時間限制
800 ms
內存限制
32000 kB
代碼長度限制
8000 B
判題程序
Standard

實現QQ新帳戶申請和老帳戶登陸的簡化版功能。最大挑戰是:據說現在的QQ號碼已經有10位數了。

輸入格式說明:

輸入首先給出一個正整數N(<=105),隨後給出N行指令。每行指令的格式爲:“命令符(空格)QQ號碼(空格)密碼”。其中命令符爲“N”(代表New)時表示要新申請一個QQ號,後面是新帳戶的號碼和密碼;命令符爲“L”(代表Login)時表示是老帳戶登陸,後面是登陸信息。QQ號碼爲一個不超過10位、但大於1000(據說QQ老總的號碼是1001)的整數。密碼爲不小於6位、不超過16位、且不包含空格的字符串。

輸出格式說明:

針對每條指令,給出相應的信息:

1) 若新申請帳戶成功,則輸出“New: OK”;
2) 若新申請的號碼已經存在,則輸出“ERROR: Exist”;
3) 若老帳戶登陸成功,則輸出“Login: OK”;
4) 若老帳戶QQ號碼不存在,則輸出“ERROR: Not Exist”;
5) 若老帳戶密碼錯誤,則輸出“ERROR: Wrong PW”。

樣例輸入與輸出:

序號 輸入 輸出
1
5
L 1234567890 [email protected]
N 1234567890 [email protected]
N 1234567890 [email protected]
L 1234567890 myQQ@qq
L 1234567890 [email protected]
ERROR: Not Exist
New: OK
ERROR: Exist
ERROR: Wrong PW
Login: OK

代碼:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <map>
#include <queue>
#include <algorithm>
using namespace std;

int main(){
	map<long long,string> m;
	map<long long,string>::iterator it;
	int n;
	long long na;
	char a;
	string mi,pi;
	cin>>n;
	while(n--){
		cin>>a>>na>>mi;
		it=m.find(na);
		if(a=='L'){
			if(it==m.end())
				printf("ERROR: Not Exist\n");
			else{
				pi=m[na];
				if(mi==pi)
					printf("Login: OK\n");
				else
					printf("ERROR: Wrong PW\n");
			}
		}
		else if(a=='N'){
			if(it==m.end()){
				m[na]=mi;
				printf("New: OK\n");
			}
			else
				printf("ERROR: Exist\n");
		}
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章