用鏈表應該是比較麻煩的,可以用結構+數組實現
struct Edge
{
int from,to,val,next;
}edge[maxn];
int edgenum;
void addedge(int u,int v,int w)
{
edge[edgenum].from = u;
edge[edgenum].to = v;
edge[edgenum].val = w;
edge[edgenum].next = head[u];//head[u]現在存儲着u節點鏈接的最後一個節點
head[u] = edgenum++;//現在u節點最後一個邊就是edgenum了,所以head[u]記錄一下它
}