uva 11991 - Easy Problem from Rujia Liu?

来源:互联网 发布:淘宝qq号卖家不见了 编辑:程序博客网 时间:2024/05/18 03:49


这个题目的意思是输入n个数,m组询问,每组询问包含两个整数k,v,意思是询问整数v第k次出现的位置。

#include <cstdio>#include <map>#include <vector>using namespace std;int main(){    map<int,vector<int> > mm;            //我们这里使用了STL里的map和vector    int n, m, k, v, i, a;    while (scanf("%d%d",&n,&m) != EOF)    {        mm.clear();        for (i = 1;i <= n;i++)        {            scanf("%d",&a);            mm[a].push_back(i);        }        while (m--)        {            scanf("%d%d",&k,&v);            if(mm[v].size() < k)                printf("0\n");            else                printf("%d\n",mm[v][k-1]);        }    }    return 0;}

代码很好懂,主要是map和vector的用法。


原创粉丝点击