又是一个vector数组
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
const int MAXn=100000+10;
int n,m,proc[MAXn],pos[MAXn];
vector <int> play[MAXn];
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i){
int k;
scanf("%d",&k);
for(int j=1;j<=k;++j){
int v;
cin>>v;
play[i].push_back(v);
}
}
int now=1;
int a,b;
for(int i=1;i<=m;++i){
cin>>a>>b;
if(a==0){
now=play[now][b-1];
}else if(a==1){
pos[b]=now;
cout<<now<<endl;
}else if(a==2){
now=pos[b];
}
}
cout<<now;
return 0;
}