灵异求助(大雾
  • 板块灌水区
  • 楼主xrlong
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/7/24 19:06
  • 上次更新2023/10/27 18:36:58
查看原帖
灵异求助(大雾
630778
xrlong楼主2022/7/24 19:06

不加注释

for(int j=0;j<n;j++);

输出: 28351

加上注释

//for(int j=0;j<n;j++);

输出: 3512

为什么???求助!!!

题目: P1525 关押罪犯

#include<bits/stdc++.h>
using namespace std;
const int N=2e4+3;
int fa[N<<1];
struct peo{
    int mx,my,yq;
    friend bool operator <(peo a,peo b){return a.yq>b.yq;}
}cu[100002];
int getf(int x){return fa[x]==x?x:fa[x]=getf(fa[x]);}
int main(){
    int n,m;
    for(int i=1;i<=2*n;i++) fa[i]=i;
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;i++)
        scanf("%d%d%d",&cu[i].mx,&cu[i].my,&cu[i].yq);
    sort(cu,cu+m);
    for(int j=0;j<m;j++);//<-这里!!!
    for(int i=0;i<m;i++){
        peo x=cu[i];
        int a=getf(x.mx),b=getf(x.my);
        if(a==b){
            printf("%d",x.yq);
            return 0;
        }
        fa[a]=getf(x.my+n);
        fa[b]=getf(x.mx+n);
    }
    printf("0");
    return 0;
}
2022/7/24 19:06
加载中...