- # include
- # include
- # include
- # include
- # include
- # include
-
- using namespace std;
- typedef long long int ll;
-
-
- ll inf=(1ll<<50);
- int n,m;
-
- ll ans;
- ll nowdis[5050];
-
- typedef struct
- {
- int b,e;
-
- ll w;
- } xinxi;
-
- xinxi s[200000*3+10];
- int len;
- int f[200000*3+10];
- int nex[200000*3+10];
-
- void add(int x,int y,int z)
- {
- s[len].b=x;
- s[len].e=y;
- s[len].w=z;
-
- nex[len]=f[x];
- f[x]=len;
- len++;
-
- }
- void prim()
- {
-
- int x=f[1];
-
- for(int i=2;i<=n;i++)
- {
- nowdis[i]=inf;
-
- }
- while(x!=-1)
- {
- int j=s[x].e;
-
- nowdis[j]=min(nowdis[j],s[x].w);
-
- x=nex[x];
-
- }
- for(int i=2; i<=n; i++)
- {
- ll minn=inf;
-
- int id=0;
-
- for(int j=2; j<=n; j++)
- {
-
- if(nowdis[j]
- {
- minn=nowdis[j];
-
- id=j;
- }
- }
-
- ans+=minn;
-
- nowdis[id]=0;
-
- int x=f[id];
-
- while(x!=-1)
- {
- int j=s[x].e;
-
-
- if(s[x].w
- {
- nowdis[j]=s[x].w;
- }
-
- x=nex[x];
-
- }
-
-
- }
- }
- int main ()
- {
-
-
-
- memset(f,-1,sizeof(f));
-
- cin>>n>>m;
-
-
-
- for(int i=1; i<=m; i++)
- {
- int x,y;
-
- ll z;
-
- cin>>x>>y>>z;
-
- add(x,y,z);
-
- add(y,x,z);
- }
-
- prim();
-
- for(int i=1;i<=n;i++)
- {
- if(nowdis[i])
- {
- cout<<"orz";
-
- return 0;
-
- }
- }
-
- cout<
- return 0;
-
-
- }
-
相关阅读:
2、灰度图
干货!自动驾驶场景下的多目标追踪与实例分割
创建安卓项目工程
深入理解 Base64 底层原理
C++学习笔记——01
vue3 全局方法挂载
Stream流中的 max()和 sorted()方法
C/C++不及格学生 2020年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
笔试题【day30】
CNP实现应用CD部署
-
原文地址:https://blog.csdn.net/jisuanji2606414/article/details/126107775