int n,m;
int first[maxn];
int u[maxn],v[maxn],w[maxn],next[maxn];
void read_graph()
{
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)first[i]=-1;
    for(int e=0;e<m;e++){
      scanf("%d%d%d",&u[e],&v[e],&w[e]);
      next[e]=first[u[e]];
      first[u[e]]=e;
    }
}
打上来慢慢理解。
原文:http://www.cnblogs.com/xuxueyang/p/4373427.html