NOILinux下编译错误
  • 板块学术版
  • 楼主da_ke
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/4/13 10:08
  • 上次更新2024/4/13 11:40:14
查看原帖
NOILinux下编译错误
766675
da_ke楼主2024/4/13 10:08
#include <bits/stdc++.h>
#define rep(i,l,r) for(int i=(l);i<=(r);++i)

using namespace std;
typedef long long ll;

const int N=520;

struct Edge
{
    int u,v,w;
    bool operator<(Edge& A){return (this->w)<A.w;}
};

int a,n;
vector<Edge> linker;
int fa[N];

int find(int x)
{
    if(fa[x]==x)
        return x;
    return fa[x]=find(fa[x]);
}

int main()
{
#ifndef ONLINE_JUDGE
    freopen("in.in","r",stdin);
    freopen("out.out","w",stdout);
#endif
    cin>>a>>n;
    rep(i,1,n)
    {
        linker.push_back({0,i,a});
        fa[i]=i;
    }
    rep(i,1,n)
        rep(j,1,n)
        {
            int k;
            cin>>k;
            if(i!=j)
                linker.push_back({i,j,k});
        }
    sort(linker.begin(),linker.back());
    int len=linker.size();
    int ans=0;
    for(auto i:linker)
    {
        int x=i.u;
        int y=i.v;
        int fx=find(x);
        int fy=find(y);
        if(fx!=fy)
        {
            fa[x]=y;
            ans+=i.w;
        }
    }
    cout<<ans;
}

说是sort的错误,为啥>

2024/4/13 10:08
加载中...