中国大学MOOC-数据结构基础习题集、09-2、QQ帐户的申请与登陆

题目链接:http://www.patest.cn/contests/mooc-ds/09-2

题目分析:这是一道考察哈希散列表的一道题。题目总体来说是比较简单的,而且又是中文的,相信大家都能看懂。

特别说明:

  QQ号是10位的,而long型整数最大能表示到±2*10^9,也就是能表示到2开头的QQ号。所以我们这里用字符串类型表示QQ号。

代码分析:

  老师是比较宽容的,我这里只用了C++的map而没有自己写。时间和空间非常恐怖。不过好在AC了,就不纠结了……

 1 #include <iostream>
 2 #include <map>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int n;
 9     cin >> n;
10     map<string, string> myMap;
11     for(int i=0; i<n; i++)
12     {
13         char a;
14         string b;
15         string c;
16         cin >> a >> b >> c;
17         if(a == 'L')
18         {
19             if(myMap.find(b) == myMap.end())
20                 cout << "ERROR: Not Exist" << endl;
21             else if(myMap[b] != c)
22                 cout << "ERROR: Wrong PW" << endl;
23             else
24                 cout << "Login: OK" << endl;
25         }
26         else if(a == 'N')
27         {
28             if(myMap.find(b) != myMap.end())
29                 cout << "ERROR: Exist" << endl;
30             else
31             {
32                 cout << "New: OK" << endl;
33                 myMap[b] = c;
34             }
35         }
36     }
37     return 0;
38 }

AC成果:

posted @ 2015-01-28 17:08  聪明的聪聪  阅读(618)  评论(0编辑  收藏  举报