#include<bits/stdc++.h>
using namespace std;
int d[111],f[111],G[111][111],t=1,n;
int dfs(int now){
d[now]=t++;
for(int i=1;i<=n;i++)
if(G[now][i]&&d[i]==0)dfs(i);
f[now]=t++;//注意这个f[now]++是在for循环之外的
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
int v2,v1,k;
scanf("%d%d",&v1,&k);
for(int j=0;j<k;j++){
scanf("%d",&v2);
G[v1][v2]=1;
}
}
for(int i=1;i<=n;i++)if(d[i]==0)dfs(i);
for(int i=1;i<=n;i++)printf("%d %d %d\n",i,d[i],f[i]);
return 0;
}
ALDS1_11_B
最新推荐文章于 2020-02-07 13:59:58 发布