1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cmath>
 5 #include <cstdlib>
 6 #include <algorithm>
 7 #include <vector>
 8 #include <stack>
 9 #include <queue>
10 #include <cassert>
11 #include <
set>
12 #include <sstream>
13 #include <map>
14 using namespace std ;
15 #ifdef DeBUG
16 #define bug assert
17 #else
18 #define bug 
//
19 #endif
20 #define zero {0}
21 struct shop
22 {
23     string name;
24     int price;
25 };
26     map<
string,
int>
a;
27     map<
string,
int>
::iterator it;
28 int main()
29 {
30     #ifdef DeBUG
31         freopen(
"C:\\Users\\Sky\\Desktop\\1.in",
"r",stdin);
32     #endif
33     
34     string m;
35     int price;
36     int n;
37     int t;
38     int d;
39     int sum=
0;
40     int rank=
1;
41     int i,j,k;
42     char mm[
40];
43     while(scanf(
"%d",&n)!=
EOF)
44     {
45         for(i=
0;i<n;i++
)
46         {
47                 scanf(
"%s",mm);
48                 a[mm]=
0;
49         }
50             scanf(
"%d",&
t);
51             for(i=
0;i<t;i++
)
52             {
53                 for(j=
0;j<n;j++
)
54                 {
55                     scanf(
"%d%s",&
d,mm);
56                     a[mm]+=
d;
57                     if(strcmp(mm,
"memory")==
0)
58                     {
59                         sum=
a[mm];
60                     }
61                 }
62                 for(it=a.begin();it!=a.end();it++
)
63                 {
64                     if(it->second>
sum)
65                     rank++
;
66                 }
67                 printf(
"%d\n",rank);
68                 rank=
1;
69             }
70             a.clear();
71     }
72     return 0;
73 } 
   
  
View Code 
  
   
 
 一、map的说明  1   头文件   #include   <map>     2   定义   map<string,   int>   my_Map;   或者是typedef     map<string,   int>   MY_MAP;   MY_MAP   my_Map;     3   插入数据   (1)   my_Map["a"]   =   1; //a也会插入其中  (2)   my_Map.insert(map<string,   int>::value_type("b",2));   (3)   my_Map.insert(pair<string,int>("c",3));   (4)   my_Map.insert(make_pair<string,int>("d",4));     4   查找数据和修改数据   (1)   int   i   =   my_Map["a"];             my_Map["a"]   =   i;   (2)   MY_MAP::iterator   my_Itr;             my_Itr.find("b");             int   j   =   my_Itr->second;             my_Itr->second   =   j;   不过注意,键本身是不能被修改的,除非删除。     5   删除数据   (1)   my_Map.erase(my_Itr);   (2)   my_Map.erase("c");   还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。     6   迭代数据   for   (my_Itr=my_Map.begin();   my_Itr!=my_Map.end();   ++my_Itr)   {}     7   其它方法   my_Map.size()               返回元素数目   my_Map.empty()       判断是否为空   my_Map.clear()           清空所有元素
 
转载于:https://www.cnblogs.com/Skyxj/p/3194314.html
                
        
 
相关资源:数据结构—成绩单生成器