分值 : 25 难度 : 中等题 思路 : 一个map<string,set<int>> 读入数据就好了 坑点 : 最后一个点在超时的临界边缘 评语 :
12345678910111213141516171819202122232425262728293031
#include <iostream>#include <vector>#include <set>#include <map>using namespace std;map <string, set<int>> db ;int main(){ int N , K ,c1,c2; string s; cin >> N >> K ; for(int i = 1 ; i<= K ; i++) { cin >> c1 >>c2 ; for(int j = 0 ; j < c2 ;j++) { cin >> s ; db[s].insert(c1); } } for(int i = 0 ;i< N ; i++) { cin >> s ; cout << s <<" "<<db[s].size() ; for(auto j = db[s].begin() ; j !=db[s].end() ; j++) { cout <<" "<<*j ; } cout <<endl ; }}