memset(h,0,sizeof h); 加入有向边(x,y) 权值为z void add(int x,int y,int z) { idx++; e[idx]=y; w[idx]=z; ne[idx]=h[x]; h[x]=idx; } 访问从x出发的所有边 for(int i=h[x],i,i=ne[i]) { int y=e[i]; int z=w[i]; }