xindoo is
always here

uva 11991 – Easy Problem from Rujia Liu?


这个题目的意思是输入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的用法。


打赏
未经允许不得转载:XINDOO » uva 11991 – Easy Problem from Rujia Liu?
分享到: 更多 (0)

评论 抢沙发

xindoo

联系我联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏