遍历每篇短文,对每个单词,将当前短文编号加入其对应的列表(注意去重)。
#include <iostream>
#include<unordered_map>
#include<vector>
#include<string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
unordered_map<string,vector<int>>words;
for(int id=1;id<=n;id++){
int l;
cin>>l;
for(int i=0;i<l;i++){
string word;
cin>>word;
auto&v=words[word];
if(v.empty()||v.back()!=id)v.push_back(id);
}
}
int m;
cin>>m;
while(m--){
string w;
cin>>w;
auto it=words.find(w);
if(it==words.end()){
cout<<'\n';
continue;
}
const auto&v=it->second;
for(size_t i=0;i<v.size();i++){
if(i)cout<<' ';
cout<<v[i];
}
cout<<endl;
}
return 0;
}

京公网安备 11010502036488号