代码如下:
#include<bits/stdc++.h>
using namespace std;
const int N=2e3+5;
map<string,priority_queue<int> >p;
int l,n,ans;
int main(){
scanf("%d",&l);
for(int i=1;i<=l;i++){
int n,ll=1;
scanf("%d",&n);
string s;
getline(cin,s);
while(n--){
int rr=s.find((char)(32),ll);
string s2=s.substr(ll,rr-ll);
ll=rr+1;
p[s2].push(-i);
}
}
scanf("%d",&n);
for(int i=1;i<=n;i++){
string s;
cin>>s;
while(!p[s].empty()){
int ans=p[s].top();
printf("%d",-ans);
p[s].pop();
while(ans==p[s].top()&&(!p[s].empty())) p[s].pop();
if(!p[s].empty()) putchar(' ');
}
puts("");
}
return 0;
}