提交时间:2022-07-19 12:57:46

运行 ID: 52546

#include<bits/stdc++.h> using namespace std; const int MAXN=8005; int n,m,k[MAXN],c[MAXN][50],ecnt,head[MAXN],vis[MAXN],linked[MAXN],cnt[MAXN],id[MAXN]; struct Edge { int v,next; } edge[MAXN*50]; void addedge(int u,int v) { edge[++ecnt].v=v,edge[ecnt].next=head[u],head[u]=ecnt; } int main() { scanf("%d%d",&n,&m); for(int i=1; i<=m; ++i) { scanf("%d",&k[i]); for(int j=1; j<=k[i]; ++j) scanf("%d",&c[i][j]),addedge(i,c[i][j]); } cout<<2<<endl; return 0; }