本题是一道比较简单的题目。
需要注意一份purchase list中可能包含多个相同的商品,需要去重。
另外有一些实现上的技巧,例如利用set去重,以及利用map自动对key排序的特性。
可以参考以下代码:
#include<iostream>
#include<cassert>
#include<map>
#include<set>
using namespace std;
int n, m;
int main()
{
map<string, int> purchase;
cin >> n;
for(int i = 0; i < n; i++) {
set<string> prods;
cin >> m;
while(m--) {
string id, date, price;
cin >> id >> date >> price;
prods.insert(id + price);
}
for(auto& prod : prods) {
purchase[prod]++;
}
}
for(auto& kv : purchase) {
if(kv.second == n)
cout << kv.first.substr(0, 9) << endl;
}
return 0;
}
PE一般是输出中有多余或者缺少空格空行。这题有多个答案的时候要每行输出一个。