You are supposed to implement the functions of account "Log in" and "Register" for the most popular instant messager QQ. The most challenging part is that QQ now has more than a billion users.
Input Specification:
Each input file contains one test case. For each case, the first line contains an integer N
(≤) - the total number of queries. Then N
lines follow, each contains a query in the format Command QQ_No Password
where Command
is either R
(meaning to register a new account, and hence followed by a new account number and a password), or L
(meaning to log in with an existing account, and hence followed by the account number and the password); QQ_No
is an integer that is greater than 1000 and no more than 10 digits long; and Password
is a string with no less than 6 and no more than 16 characters without any space.
Output Specification:
For each test case, print the corresponding message for each query in a line. The messages are:
- If a new account is successfully registered, output "Register Successful";
- If the new registering account number already exists, output "ERROR: Account Number Already Exists";
- If log in successfully, output "Log in Successful";
- If the log in account does not exist, output "ERROR: Account Not Exist";
- If log in with a wrong password, output "ERROR: Wrong Password".
Sample Input:
5 L 1234567890 myQQ@qq.com R 1234567890 myQQ@qq.com R 1234567890 myQQ@qq.com L 1234567890 myQQ@qq L 1234567890 myQQ@qq.com
Sample Output:
ERROR: Account Not Exist Register Successful ERROR: Account Number Already Exists ERROR: Wrong Password Log in Successful用c++的map代码:
#include <cstdio> #include <map> using namespace std; map<string,string> mp; int main() { int n; char op[2],no[11],pw[17]; scanf("%d",&n); for(int i = 0;i < n;i ++) { scanf("%s%s%s",op,no,pw); if(op[0] == 'R') { if(mp[no] != "") printf("ERROR: Account Number Already Exists\n"); else { mp[no] = pw; printf("Register Successful\n"); } } else { if(mp[no] == "") printf("ERROR: Account Not Exist\n"); else if(mp[no] != pw) printf("ERROR: Wrong Password\n"); else printf("Log in Successful\n"); } } return 0; }
来源:https://www.cnblogs.com/8023spz/p/12266762.html