HDU 2648 shopping (map)

题目在这里插入图片描述

代码

#include <bits/stdc++.h>
using namespace std;
int main ()
{
    
    
    int n,m;
    map <string,int> shop;
    while(cin>>n)
    {
    
    
        int N=n;
        string str;
        while (n--)
        {
    
    
            cin>>str;
            shop[str]=0;
        }
        cin>>m;
        int t;
        while (m--)
        {
    
    
            n=N;
            while (n--)
            {
    
    
                cin>>t>>str;
                shop[str]+=t;
            }
            map<string,int>::iterator i;
            int r=1;
            for (i=shop.begin(); i!=shop.end(); i++)
            {
    
    
                if (i->second > shop["memory"]) r++;
            }
            cout<<r<<endl;
        }
        shop.clear();
    }
    return 0;
}

理解

map的定义:在这里插入图片描述
所以在这里运用map去加上每一次商店上涨的价格。

map<string,int>::iterator i;

这是迭代器。为了下面运用i作为指针进行比较。

猜你喜欢

转载自blog.csdn.net/weixin_44918971/article/details/95623130