图的存储(边集数组)


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

There are no comments at the moment.