图的存储(边集数组)
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
10M
Author:
Problem type
Allowed languages
C, C++
图的边集数组存储(带权)
题目描述
给定一张 无向带权图,包含 \(n\) 个顶点和 \(m\) 条边。请你用边集数组(Edge List)的方式存储图中所有边,并按输入顺序输出每条边的信息。
输入格式
第一行包含两个正整数 \(n\) 和 \(m\),表示图的顶点数和边数。
接下来 \(m\) 行,每行三个整数 \(u, v, w\),表示顶点 \(u\) 和顶点 \(v\) 之间有一条边,权值为 \(w\)。
输出格式
输出 \(m\) 行,每行三个整数 \(u, v, w\),表示一条边的起点、终点和权值,输出顺序与输入一致。
输入输出样例 #1
输入 #1
4 3
1 2 5
2 3 2
1 4 7
输出 #1
1 2 5
2 3 2
1 4 7
输入输出样例 #2
输入 #2
5 4
1 2 10
2 3 3
3 4 8
4 5 6
输出 #2
1 2 10
2 3 3
3 4 8
4 5 6
数据范围与约定
- \(1 \leq n \leq 10^5\)
- \(1 \leq m \leq 2 \times 10^5\)
- \(1 \leq u, v \leq n\),\(1 \leq w \leq 10^9\)
- 无重边,无自环
建议边结构(C++)
struct Edge {
int u, v;
long long w;
};
vector<Edge> edges;
Comments