邻接表
2024-10-07 11:55:21
发布于:广东
3阅读
0回复
0点赞
#include<iostream>
#include<vector>
using namespace std;
const int N =1e5+10;
struct node{
int to;//终点
int w;//权值
};
//结合vector实现邻接表存图
vector <node> Map[N];
int x,y,w,len,n,m,q;
int main(){
cin>>n>>m>>q;
for(int i=0;i<m;i++){
//输入每条边的信息(起点、终点、权值)
cin>>x>>y>>w;
Map[x].push_back({y,w});
}
while(q--){
cin>>x;
//输出顶点为x的边的终点和权值
//先得到顶点为x的边数(邻接表延申的顶点数)
len = Map[x].size()-1;
for(int j = len;j>=0;j--){
cout<<Map[x][j].to<<" "<<Map[x][j].w<<endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个