七分,奇了怪

P3366 【模板】最小生成树

yejuncenyyds @ 2023-09-04 16:44:18

#include<bits/stdc++.h>
using namespace std;
int n,m,g[5005][5000],MIN[50005];
bool leaf[5005];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int x,y,z;
        cin>>x>>y>>z;
        g[x][y]=g[y][z]=z;
    }
    for(int i=2;i<=n+1;i++) MIN[i]=0x7f;
    for(int i=1;i<=n;i++){
        int k=n+1;
        for(int j=1;j<=n;j++) if((!leaf[j])&&MIN[j]<MIN[k]) k=j;
        leaf[k]=1;
        for(int j=1;j<=n;j++) if((!leaf[j])&&g[k][j]!=0&&g[k][j]<MIN[j]) MIN[j]=g[k][j];
    }
    int sum=0;
    for(int i=1;i<=n;i++){
        if(MIN[i]==0x7f){
            cout<<"orz";
            return 0;
        }
        sum+=MIN[i];    
    }
    cout<<sum;
    return 0;
}

by MsgNotFound @ 2023-09-04 17:59:25

@yejuncenyyds 最后循环里面输出orz是什么意思?


by MsgNotFound @ 2023-09-04 18:00:58

az,没看题目意思,但是有的要输出数字的你的程序也输出了orz


|