题解
2023-07-27 10:54:41
发布于:浙江
48阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
struct node {
int v; // 边的终点
int w; // 边的权重
};
vector<node> G[N];
int main() {
int n, m, q; // 顶点数,边数,查询数
cin >> n >> m >> q;
for(int i = 1; i <= m; i++) {
int x, y, len; // x--len-->y
cin >> x >> y >> len;
G[x].push_back({y, len});
}
for(int i = 1; i <= q; i++) {
int x;
cin >> x;
// 从 x 这个顶点出去的所有边的信息,后存进去的先输出
// G[x] 是一个 vector
// G[x]:0~G[x].size()-1,倒着遍历:G[x].size()-1~0
for(int j = G[x].size()-1; j >= 0; j--) {
// G[x][j] 是一个 node 类型的变量,包含两个成员 v w
cout << G[x][j].v << " " << G[x][j].w << endl;
}
}
这里空空如也
有帮助,赞一个