题目
有n家商店,其中有一家叫做memory的商店,每家商店每天上涨一些价格,连续m天,请你输出memory商店每天的涨价排名。
流程图
1、读入n家商店名称
2、读入持续天数
3、将所有的数据存放到map中
4、通过vector里的店名,逐个寻找大于memory的值
5、输出memory的排名
数据结构
n家商店名称放在vector里面
每天每家店的涨价存放在map里面
细节
每个商店的涨价是累加的,论看题和英语的重要性
代码
#include<iostream>
#include<string>
#include<vector>
#include<map>
using namespace std;
int main()
{
int n;
while(cin >> n){
vector<string>shop;
string s;
map<string,int>rank;
for(int i=0;i<n;i++){
cin >> s;
shop.push_back(s);
}
int m; cin >>m;
int price;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin >> price >> s;
rank[s]+=price;
}
int result=0;
for(int i=0;i<shop.size();i++){
if(rank[shop[i]]>rank["memory"]){
result++;
}
}
cout << result+1 << endl;
}
}
system("pause");
return 0;
}