AcWing 1141. 局域网
某个局域网内有n台计算机和m条 双向 网线,计算机的编号是1~n由于搭建局域网时工作人员的疏忽,
现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象。
#include<bits/stdc++.h> using namespace std; const int N=110,K=210; int fa[N],n,k; int tot; struct node { int a,b,c; bool operator < (const node &x)const{return c<x.c;} }edge[K]; int found(int x){if(x==fa[x]) return x;return fa[x]=found(fa[x]);} int main() { cin>>n>>k; for(int i=1;i<=n;i++) fa[i]=i; for(int i=1;i<=k;i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); edge[i]={a,b,c}; tot+=c; } sort(edge+1,edge+k+1); int res=0; for(int i=1;i<=k;i++) { int x=found(edge[i].a),y=found(edge[i].b); int z=edge[i].c; if(x!=y) {fa[x]=y;res+=z;} } cout<<tot-res; return 0; }

浙公网安备 33010602011771号