poj1679 判断最小生成树是不是唯一? 如果让我说:我只能说,实力决定一切。
来源:互联网 发布:js设置div显示 编辑:程序博客网 时间:2024/05/18 12:03
思路:求次小生成树和最小生成树。
#include<iostream>#include<algorithm>#include<cstdio>using namespace std;const int inf=1<<30;const int maxn=111;int ans1,ans2;int dis[maxn];int map[maxn][maxn];int iToj[maxn][maxn];int vis[maxn];int use[maxn][maxn];int pre[maxn];int T,N,M;int MAX(int a,int b){ return a>b?a:b;}void init(){ int i,j; for(i=0; i<=N; i++) { for(j=0; j<=N; j++) { map[i][j]=inf; use[i][j]=0; } vis[i]=0; }}int prime(int pox){ int sum=0,i,j; for(i=1; i<=N; i++) { dis[i]=map[pox][i]; pre[i]=1; } pre[1]=-1; vis[1]=1; int tem=1; for(i=1; i<N; i++) { int MINX=inf; for(j=1; j<=N; j++) { if(!vis[j]&&MINX>dis[j]) { tem=j; MINX=dis[j]; } } sum+=MINX; vis[tem]=1; use[pre[tem]][tem]=use[tem][pre[tem]]=1; for(j=1; j<=N; j++) { if(vis[j]) iToj[j][tem]=MAX(iToj[j][pre[tem]],map[pre[tem]][tem]); } for(j=1; j<=N; j++) { if(!vis[j]&&dis[j]>map[tem][j]) { dis[j]=map[tem][j]; pre[j]=tem; } } } return sum;}int prime1(){ int sum=inf,i,j; for(i=1; i<=N; i++) for( j=1; j<=N; j++) if(use[i][j]!=1&&ans1+map[i][j]-iToj[i][j]<sum) sum=ans1+map[i][j]-iToj[i][j]; return sum;}int main(){ int a,b,c,i; scanf("%d",&T); while(T--) { scanf("%d%d",&N,&M); init(); for(i=0; i<M; i++) { scanf("%d%d%d",&a,&b,&c); if(map[a][b]>c) map[a][b]=map[b][a]=c; } ans1=prime(1); ans2=prime1(); if(ans1==ans2) printf("Not Unique!\n"); else printf("%d\n",ans1); } return 0;}
- poj1679 判断最小生成树是不是唯一? 如果让我说:我只能说,实力决定一切。
- hdu1247 字典树 单词拆分 如果让我说:我只能说,实力决定一切
- hdu 2642 二维数组+判重 如果让我说:我只能说,实力决定一切
- hdu1301 MST+优先队列 如果让我说:我只能说,实力决定一切。
- hdu2767强连通+缩点 如果让我说:我只能说,实力决定一切
- hdu1269强连通水题 如果让我说:我只能说,实力决定一切
- poj2553强连通+缩点 如果让我说:我只能说,实力决定一切
- poj2186 强连通+缩点 如果让我说:我只能说,实力决定一切
- hdu2544 spfa 第一弹 如果让我说:我只能说,实力决定一切
- hdu 1233 kruskal+优先队列 如果让我说:我只能说,实力决定一切。
- hdu1535 spfa() 如果让我说:我只能说,实力决定一切
- hdu2112 spfa() 如果让我说:我只能说,实力决定一切
- hdu 3191 次短路+优先队列 如果让我说:我只能说,实力决定一切
- poj3463 hdu1688 次短路+优先队列 如果让我说:我只能说,实力决定一切
- hdu3339 spfa()+dp 如果让我说:我只能说,实力决定一切
- hdu 3336 KMP走起 如果让我说:我只能说,实力决定一切
- hdu3746 KMP之next[]威武 如果让我说:我只能说,实力决定一切。
- poj 2752 KMP+DFS() 如果让我说:我只能说,实力决定一切
- 采集/小偷程序核心功能
- 【js】与浏览器相关
- 第7周静态成员Time
- 解决Fatal error: Maximum function nesting level of ’100′ reached报错
- 带空格字符串过滤出单词
- poj1679 判断最小生成树是不是唯一? 如果让我说:我只能说,实力决定一切。
- [Ubuntu]系统命令--dpkg命令小记
- Epoll在LT和ET模式下的读写方式
- ubuntu12.10 设置root登录
- Log4j 使用
- ftp爆库后同ip批量传shell
- OFBIZ数据库表研究一
- u-boot中的go和reset命令
- 【计算机考研专业深度分析】细分专业介绍+ 导师介绍+重点院校推荐