uva 11991 Easy Problem from Rujia Liu? vector+map

水题 学习一下数据的存储方法。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<stack>
 5 #include<queue>
 6 #include<vector>
 7 #include<map>
 8 using namespace std;
 9 int n,m;
10 map<int,vector<int> >a;
11 
12 int main()
13 {
14     while(~scanf("%d%d",&n,&m))
15     {
16         for(int i=0;i<n;i++)
17         {
18             int x;
19             scanf("%d",&x);
20             if(!a.count(x))
21                 a[x]=vector<int>();
22             a[x].push_back(i+1);
23         }
24         while(m--)
25         {
26             int x,y;
27             scanf("%d%d",&x,&y);
28             if(a[y].size()<x||!a.count(y))
29                 printf("0
");
30             else
31                 printf("%d
",a[y][x-1]);
32         }
33     }
34     return 0;
35 }
View Code
原文地址:https://www.cnblogs.com/ITUPC/p/5075090.html