大神帮我看看

P3366 【模板】最小生成树

```cpp #include<iostream> #include<cmath> #include<cstring> #include<string> #include<algorithm> using namespace std; struct edge{ int u,v,w;//u,v表示一条边两个顶点,w表示边的权值 }; struct edge e[5001]; bool cmp(edge x,edge y){ return x.w<y.w; } int getf(int v){//并查集寻找祖先的函数 if(f[v]==v){//如果找到 return v;//那么返回祖先 } else{ f[v]=getf(f[v]);//递归寻找祖先 return f[v]; } } int merge(int v,int u){//寻找符合规则的边 int t1,t2; t1=getf(v);//用T1表示前一个点集合的祖先 t2=getf(u); if(t1!=t2){ f[t2]=t1; return 1; } return 0; } int n,m; int f[200001]={0},sum=0,count=0;//f存储每一个节点编号,sum存储最小权值和,count表示当前边数 int main(){ int i; cin>>n>>m;//输入节点数和边数 for(i=1;i<=m;i++){ cin>>e[i].u>>e[i].v>>e[i].w; } sort(e+1,e+m+1,cmp); for(i=1;i<=n;i++){ f[i]=i;//顺序定义每一个结点的编号 } for(i=1;i<=m;i++){ if(merge(e[i].u,e[i].v)){//如果该边符合要求 count++;//边数++ sum+=e[i].w;//将最小的边的权值进行累加 } if(count==n-1){ break;//最小生成树的边数=无向图点数-1 } } cout<<sum; return 0; } ``` 发错了,应该是这个
by WRTLEO2 @ 2020-04-26 11:08:42


@[WRTLEO2](/user/326796) 你的f数组没定义,然后把所有count改成cnt
by Alan_Zhao @ 2020-04-26 11:11:29


**https://www.luogu.com.cn/record/33125182** 这份您的代码,报错信息是有中文空格之类的东西,你去掉就能过了
by 1saunoya @ 2020-04-26 11:13:47


@[Isaunoya](/user/96580) 好的,已经过了,谢谢 ----------------此贴完结------------------
by WRTLEO2 @ 2020-04-26 11:15:45


@[WRTLEO2](/user/326796) 呵呵
by JeffWang2019 @ 2020-04-26 11:43:11


@[WRTLEO2](/user/326796) 我们又见面了
by JeffWang2019 @ 2020-04-26 13:57:23


@[JeffWang2019](/user/219935) 是的呢(滑稽) 互关下?
by WRTLEO2 @ 2020-04-26 16:33:13


|