奇怪的问题
查看原帖
奇怪的问题
911545
yshs楼主2024/5/26 10:11
#include<bits/stdc++.h>
using namespace std;
int n,m,k,cnt;
constexpr int N = 2005;
int fa[N];
int find(int x){return fa[x] == x?x:fa[x] = find(fa[x]);}

struct edge{
	int u,v,l;
};

int kr(const vector<edge>& e){
	int ans = 0;
	for(int i=0;i<m;++i){
		int eu = find(e[i].u),ev = find(e[i].v);
		if(eu == ev) continue;
		ans += e[i].l;
		fa[eu] = ev;
		if(++cnt >= n - k) break;
	}
	return ans;
}

int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	for(int i=1;i<=N;++i)fa[i] = i;
	cin>>n>>m>>k;
	vector<edge> e(m);
	for(int i=0;i<m;++i) cin>>e[i].u>>e[i].v>>e[i].l;
	sort(e.begin(),e.end(),[](const edge& a,const edge& b){return a.l<b.l;});
	int res = kr(e);
	if(cnt >= n - k)cout<<res;
	else cout<<"No Answer";
	return 0;
}

为什么数据下载测试没有问题,到洛谷提交就全WA?

2024/5/26 10:11
加载中...