#include<bits/stdc++.h>
using namespace std;
class zhi{
public:
int l;
bool s;//是否使用过
int *b;
int d;
zhi(){
s=0;
l=0;
}
void shu(){
cin>>l;
b=new int[l+1];
for(int i=0;i<l;i++){
cin>>b[i];
}
}
};
bool compare(zhi a,zhi b){
return a.l>b.l;
}
int main(){
int n;
cin>>n;
int **a=new int*[2];
a[0]=new int[n+1];
a[1]=new int[n+1];
for(int i=0;i<n;i++){
cin>>a[0][i];
a[1][i]=-1;
}
a[1][n]=-1;
int m;
cin>>m;
zhi *nn=new zhi[m];
for(int r=0;r<m;r++){
nn[r].shu();
nn[r].d=r+1;
}
sort(nn,nn+m,compare);
for(int j=0;j<m;j++){
int k;
k=nn[j].l;
// int *b=new int[k];
// for(int i=0;i<k;i++){
// cin>>b[i];
// }
for(int e=0;e<n-k+1;e++){
int f=1;
if(a[1][e+1]==-1||a[1][e]==-1){
for(int r=e;r<e+k;r++){
if(a[0][r]!=nn[j].b[r-e]){
// if(j==1){
// cout<<"1"<<endl;
// cout<<e<<endl;
// }
f=0;
break;
}
}
if(f==1){
if(a[1][e]==-1){
a[1][e]=nn[j].d;
}
for(int l=0;l<k-1;l++){
a[1][l+e+1]=nn[j].d;
}
// for(int o=0;o<n;o++){
// cout<<a[1][o];
// }
// cout<<endl;
break;
}
}
}
// for(int i=0;i<n;i++){
// cout<<a[0][i]<<" "<<a[1][i]<<endl;
// }
}
int num=0;
for(int i=0;i<n;i++){
if(i==0){
cout<<a[1][i];
num++;
}
else if(a[1][i]!=a[1][i-1]){
cout<<" "<<a[1][i];
}
// if((i==0||a[1][i]!=a[1][i-1])&&num<m-1){
// cout<<a[1][i]<<" ";
// num++;
// }
// else if((i==0||a[1][i]!=a[1][i-1])&&num==m-1){
// cout<<a[1][i];
// num++;
// }
}
}
02-23
1176
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-26
1820
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)