```cpp
if(x1-y1)
```
by FL_sleake @ 2023-11-24 21:05:49
@[FL_sleake](/user/368791) ?
by yma_y_wma @ 2023-11-24 21:06:20
@[yma_y_wma](/user/1023017) 他是指这一句错了啊
by Special_Tony @ 2023-11-24 21:07:43
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,fa[5002],z,n1;
struct UIiyTYYTTYytyiyTYIGFB{
int v;
int x,y;
}l[200002];
bool px(UIiyTYYTTYytyiyTYIGFB a,UIiyTYYTTYytyiyTYIGFB b){return a.v<b.v;}
int find(int x){
if(x==fa[x]){
return x;
}
return fa[x]=find(fa[x]);
}
int main(){
scanf("%d%d",&n,&m);
n1=n;
for(int i=1;i<=m;i++){
scanf("%d%d%d",&l[i].x,&l[i].y,& l[i].v);
}
for(int i=1;i<=n;i++){
fa[i]=i;
}
sort(l+1,l+1+m,px);
for(int i=1;i<=m;i++){
int x1=find(l[i].x),y1=find(l[i].y);
if(x1-y1){
--n1;
fa[x1]=y1;
z+=l[i].v;
}
}
if(n1 < 2){
printf("%d",z);
}else{
puts("orz");}
return 0;
}
```
by __LYC__qwq @ 2023-11-24 21:08:34
n1 > 1 && fa[l[i].x]=y1;
by __LYC__qwq @ 2023-11-24 21:09:28
@[yma_y_wma](/user/1023017) 改了3个点
```cpp
if(x1-y1) ---> if(x1!=y1)
fa[l[i].x]=y1;---> fa[x1]=y1
if(n1>1) ---> if(n1==1)
```
应该就能过了
by FL_sleake @ 2023-11-24 21:10:17
@[__LYC__qwq](/user/983647) THK
by yma_y_wma @ 2023-11-24 21:10:44
@[yma_y_wma](/user/1023017) 应是
```cpp
if(n1==1){
printf("%d",z);
}else{
puts("orz");}
```
罢。
按我理解 `n1` 表示当前连通块数量,那不应该是连通时连通块数量为 $1$ 时输出边权和吗?
by Po7ed @ 2023-11-24 21:11:58
@[FL_sleake](/user/368791) THK
此贴结
by yma_y_wma @ 2023-11-24 21:12:31