图和树基础-蒜头君旅行

https://www.jisuanke.com/course/2148/162482

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n;
 4 int m;
 5 /*
 6 通过邻接表对图存储
 7 */
 8 bool vis[20005];
 9 struct node
10 {
11     int v,w;//点和权值
12 };
13 vector<node> G[20005];
14 void insert1(int u,int v,int w)
15 {
16     node temp;
17     temp.v=v;
18     temp.w=w;
19     G[u].push_back(temp);
20 }
21 void insert2(int u,int v,int w)
22 {
23     insert1(u,v,w);
24     insert1(v,u,w);
25 }
26 int u,v,w;
27 bool f;
28 int main()
29 {
30     cin>>n>>m;
31     for(int i=0;i<m;i++)
32     {
33         cin>>u>>v>>w;
34         insert2(u,v,w);
35     }
36     int j=0,minn=1000005,t=1;
37     cout<<1;
38     vis[1]=1;
39     while(j!=t)
40     {
41     j=t;
42     if(j!=1)
43     cout<<" "<<j;
44     minn=1000005;//每次循环对minn赋值
45     for(int i=0;i<G[j].size();i++)
46     {
47         if(G[j][i].w<minn)
48         {
49             minn=G[j][i].w;
50             t=G[j][i].v;
51         }
52     }
53     if(vis[t]==1)//打标记避免找到重复的点
54     break;//根据题意
55     vis[t]=1;
56   }
57     return 0;
58 }

 

转载于:https://www.cnblogs.com/zuiaimiusi/p/10630585.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值