栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3204 Connect them

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3204 Connect them

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int first[110],nxt[2100],vv[2100],f[2100],ww[2100];int dep[110];int get(int i,int j){ int ans=-210000; while(i-j) {if(dep[i]>=dep[j]){ ans=max(ans,ww[i]); i=f[i];}else{ ans=max(ans,ww[j]); j=f[j];} } return ans;}int fa[210];inline int fin(int n){ if(n==fa[n])return n; return fa[n]=fin(fa[n]);}int w[2100];void dfs(int n){ int e; for(e=first[n];e;e=nxt[e])if(vv[e]-f[n]) {f[vv[e]]=n;dep[vv[e]]=dep[n]+1;dfs(vv[e]);ww[vv[e]]=w[e]; }}struct EE{ int u,v,w;}ee[11000];int cmp(EE a,EE b){ if(a.w==b.w)return a.u<b.u||(a.u==b.u&&a.v<b.v); return a.w<b.w;}struct ANS{ int a,b;}aa[110];int cmp1(ANS a,ANS b){ return a.a<b.a||(a.a==b.a&&a.b<b.b);}int kru(int m,int n){ int i,j,u,v,e=2; memset(first,0,sizeof(first)); for(i=1;i<=n;i++)fa[i]=i; sort(ee+1,ee+1+m,cmp); int t=0; for(i=1;i<=m;i++) {u=ee[i].u,v=ee[i].v;u=fin(u),v=fin(v);if(u==v) continue;fa[u]=v;t++;u=ee[i].u,v=ee[i].v;aa[t].a=u,aa[t].b=v; } if(t<n-1)return 0; return 1;}int ca[110][110];int main(){ int t,u,v,e,i,j,k,n,m; scanf("%d",&t); while(t--) {scanf("%d",&n);m=0;for(i=1;i<=n;i++){ for(j=1;j<=n;j++) {scanf("%d",&k);ca[i][j]=k;if(k==0) continue;++m;ee[m].u=i,ee[m].v=j;ee[m].w=k; }}if(!kru(m,n)) puts("-1");else{ sort(aa+1,aa+n,cmp1); for(i=1;i<n;i++)printf("%d %d%c",aa[i].a,aa[i].b,i==n-1?'n':' ');} }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号