http://acm.hdu.edu.cn/showproblem.php?pid=1863

 #include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define maxn 200
using namespace std;
const int inf=<<; int g[maxn][maxn];
int dis[maxn];
bool vis[maxn];
int sum;
int n,m,a,b,c;
bool flag=true; void prim()
{
memset(vis,false,sizeof(vis));
for(int i=; i<=n; i++) dis[i]=g[][i];
dis[]=;
vis[]=true;
flag=true;
for(int i=; i<n; i++)
{
int m=inf,x;
for(int y=; y<=n; y++) if(!vis[y]&&dis[y]<m) m=dis[x=y];
if(m==inf) {flag=false; break;}
sum+=m;
vis[x]=true;
for(int y=; y<=n; y++) if(!vis[y]&&dis[y]>g[x][y]) dis[y]=g[x][y];
}
} int main()
{
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m==) break;
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
if(i==j) g[i][j]=;
else
g[i][j]=g[j][i]=inf;
}
}
for(int i=; i<m; i++)
{
scanf("%d%d%d",&a,&b,&c);
g[a][b]=g[b][a]=c;
}
sum=;
flag=true;
prim();
if(!flag) printf("?\n");
else
printf("%d\n",sum);
}
return ;
}

最新文章

  1. html+css基础知识总结
  2. POJ-3261 Milk Patterns(后缀数组)
  3. 深入学习SQL的Limit语句
  4. ci获取当前url链接的分组,控制器,方法
  5. C++面向对象三大特性
  6. (原+转)ubuntu14中结束多个caffe进程中的某个
  7. 在Android Studio中使用Gradle方便地修改包名
  8. Python开源异步并发框架
  9. C++的AES加解密
  10. javascript requestAnimationFarme
  11. OpenResty 操作cookies
  12. 恢复oracle中误删除drop掉的表 闪回的方法
  13. Eclipse识别不了jsp中的${pageContxt.request.contextPath }
  14. ALV 动态行列
  15. ubuntu系统用docker搭建wordpress
  16. TF之RNN:基于顺序的RNN分类案例对手写数字图片mnist数据集实现高精度预测—Jason niu
  17. MySQL学习(十四)
  18. 基于WMI的信息查询和编辑,按微软的说明一般都是
  19. MySQL分析数据运行状态利器【SHOW PROCESSLIST】
  20. C++ 的虚析构函数

热门文章

  1. 什么时候使用NO_UNNEST
  2. 用QtWebKit开发简单的浏览器
  3. POJ1741--Tree (树的点分治) 求树上距离小于等于k的点对数
  4. 给大家推荐一款代替Visio的在线作图工具ProcessOn
  5. 今天在写powershell脚本中犯的两个错误
  6. JavaScript学习笔记(高级部分—02)
  7. ionic学习教程地址梳理
  8. 学习 Netty 3.x
  9. android源代码百度网盘分享
  10. mybatis之特殊查询