图的存储 邻接矩阵
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int n, m;//n个点 m条边
int w[N][N];//边的权值
int vis[N];//访问标记 判重数组
int a, b, c;
void dfs(int u)//深搜
{
vis[u] = 1;
for(int v = 1; v <= n; v++)
if(w[u][v])
{
printf("%d %d %d\n", u, v, w[u][v]);
if(vis[v]) continue;
dfs(v);
}
return;
}
int main()
{
scanf("%d %d", &n, &m);
for(int i = 1; i <= m; i++)
{
scanf("%d %d %d", &a, &b, &c);//起点 终点 权值
w[a][b] = c;
//w[b][a] = c; 无向图加多一条
}
dfs(1);
return 0;
}