进阶实验5-3.1-航空公司VIP客户查询-编程题
解题代码
#include<iostream>
#include<string>
#include<stdio.h>
#include<unordered_map>
using namespace std;
unordered_map<string, int> m;
int main()
{
int N, low, temp, M, flag = 1;
cin >> N >> low;
for (int i = 0; i < N; i++) {
string str;
str.resize(19);
scanf("%s %d", &str[0],&temp);
if (temp < low) temp = low;
unordered_map<string, int>::iterator it;
it = m.find(str);
if (it == m.end()) m.insert(pair<string,int>(str, temp));
else it->second += temp;
}
cin >> M;
for (int i = 0; i < M; i++) {
if (flag) flag = 0;
else cout << endl;
string str;
str.resize(19);
scanf("%s", &str[0]);
if (!m.count(str)) cout << "No Info";
else cout << m[str];
}
return 0;
}
测试结果
问题整理
1.这题我感觉卡运行速度,需要把cin换成scanf,cout换成printf,把map换成unordered_map。