map的应用。开始以为只有一组数据。其实不是。。
本来是想用这道题来练习hash的。不过这题的hash貌似还有点复杂。就直接用map模拟了。。
#include <iostream>
#include <map>
#include <string>
using namespace std;
map<string,int> shop;
int main()
{
int n,m,p;
while(cin>>n)
{
string s;
for(int i=1;i<=n;i++)
{
cin>>s;
shop[s]=0;
}
cin>>m;
while(m--)
{
for(int i=1;i<=n;i++)
{
cin>>p>>s;
shop[s]+=p;
}
int flag=shop["memory"];
int rank=1;
map<string,int>::iterator it;
for(it=shop.begin();it!=shop.end();it++)
{
if((*it).second>flag)
rank++;
}
cout<<rank<<endl;
}
shop.clear();
}
return 0;
}