链式前向星存图模板
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e4+5;
int head[maxn];
int n,m;
int cnt;
struct EDGE
{
int to,next,w;
}edge[maxn];
void init()
{
fill(head,head+maxn,-1);
}
void add_edge(int u , int v , int w)
{
edge[cnt].next = head[u];
edge[cnt].to = v;
edge[cnt].w = w;
head[u] = cnt++;
}
void Print()
{
for(int i = 1 ; i <= n ; i++)
{
for(int j = head[i] ; j != -1 ; j = edge[j].next)
{
cout << i << "->" << edge[j].to << "边权:" << edge[j].w << endl;
}
}
}
int main()
{
init();
cin >> n >> m;
for(int i = 0 ; i < m ; i++)
{
int u,v,w;
cin >> u >> v >> w;
add_edge(u,v,w);
}
Print();
return 0;
}