思路:prime,考虑重边!!!



  1. #include<stdio.h>
  2. #include<string.h>
  3. int map[1001][1001],dist[1001];
  4. int vis[1001],n;
  5. void init1()
  6. {
  7. int i,j;
  8. for(i = 0;i < n;i ++)
  9. {
  10. for(j = 0;j < n;j ++)
  11. {
  12. if(i != j)
  13. map[i][j] = 1 << 30;
  14. }
  15. }
  16. }
  17. void init2()
  18. {
  19. int i;
  20. memset(vis,0,sizeof(vis));
  21. for(i = 0;i < n;i ++)
  22. dist[i] = map[0][i];
  23. }
  24. int main()
  25. {
  26. int m,i,j,k,cnt;
  27. int min,len,sum,a,b;
  28. while(~scanf("%d%d",&n,&m))
  29. {
  30. init1();
  31. sum = cnt = 0;
  32. while(m--)
  33. {
  34. scanf("%d%d%d",&a,&b,&len);
  35. if(len < map[a][b])
  36. map[a][b] = map[b][a] = len;
  37. }
  38. init2();
  39. vis[0] = 1;
  40. for(i = 0;i < n;i ++)
  41. {
  42. min = 1 << 30;
  43. for(j = 0;j < n;j ++)
  44. {
  45. if(!vis[j] && min > dist[j])
  46. {
  47. min = dist[j];
  48. k = j;
  49. }
  50. }
  51. vis[k] = 1;
  52. if(min != 1 << 30)
  53. {
  54. cnt++;
  55. sum += min;
  56. }
  57. for(j = 0;j < n;j ++)
  58. {
  59. if(!vis[j] && dist[j] > map[k][j])
  60. dist[j] = map[k][j];
  61. }
  62. }
  63. if(cnt == n-1)
  64. printf("%d\n\n",sum);
  65. else
  66. printf("impossible\n\n");
  67. }
  68. return 0;
  69. }

HDU 2122的更多相关文章

  1. HDU 2122 HDU Today【Floyd】

    题意:给出n条路,起点和终点,问最短距离 用map处理一下地名,再用floyd 可是不懂的是:为什么INF定义成0x7fffffff就输出一堆奇怪的东西,改成100000000就可以了 #includ ...

  2. HDU 2122 Ice_cream’s world III【最小生成树】

    解题思路:基础的最小生成树反思:不明白为什么i从1开始取,就一直WA,难道是因为村庄的编号是从0开始的吗 Ice_cream’s world III Time Limit: 3000/1000 MS ...

  3. A - Ice_cream’s world III

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  4. hdu 2121 Ice_cream’s world II

    Ice_cream’s world II http://acm.hdu.edu.cn/showproblem.php?pid=2121 Time Limit: 3000/1000 MS (Java/O ...

  5. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  7. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  8. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  9. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

随机推荐

  1. Finding a needle in Haystack: Facebook’s photo storage

    http://www.importnew.com/3292.html 面向对象存储系统

  2. Html盒子模型学习总结

    Html的盒子模型 1.总的来说Html元素可以分为两类:即块状元素和行内元素. 2.块状元素(Block)类型的元素可以设置Width和Height值属性,而行内(Inline)类型无效. 3.浏览 ...

  3. Erlang 开发者的福音:IntelliJ IDEA 的 Erlang 插件

    IntelliJ IDEA 的 Erlang 插件,主要特性: 智能编辑器:  Erlang 代码补全.语法和错误高亮.代码检查 代码导航:项目和文件结构视图.在文件.模型.函数和用例之间快速跳转 工 ...

  4. python 调用第三方库压缩png或者转换成webp

    因为工作需要去研究了下png的压缩,发现转换成webp可以小很多,但是webp在手机上的解码速度比png的解码速度慢很多.出于进几年手机设备的处理器的性能也不错了,所以准备两套方案. 在网上搜索了一些 ...

  5. 说说对C语言指针的理解

    指针困扰了一些学习编程的人,或许你的老师会告诉你,指针比较难理解. 我当时被老师的话唬住所以学习指针那章的时候都没心情听课.(说得像讲别的内容时我听了似的,开玩笑) 导致了学习链表的时候各种卧槽. * ...

  6. iOS8定位问题

    正文:主要解决iOS8以前能定位,但是在iOS8时候无法定位的问题 在iOS8以前,我们的GPS定位是在用户设置的里面显示的是总是使用,但是在iOS8以后,苹果修改了这部分授权,你需要多加入2个pli ...

  7. new 的用法

     在C#中,new关键字有三种用法: 1.new 运算符,用于创建对象和调用构造函数. 2.new  修饰符,在用作修饰符时,new关键字可以显式隐藏从基类继承的成员. 3.new 约束 ,用于在泛型 ...

  8. C#导入导出数据到Excel的通用类代码

    Excel文件导入导出,需引用Microsoft Excel 11.0 Object Library ///////////////////////////////////////////////// ...

  9. 安装Ubuntu 14.04后要做的5件事情

    转自安装Ubuntu 14.04后要做的5件事情 Ubuntu目前是世界上最流行的Linux操作系统,它提供了桌面版本和服务器版本,其他流行的Linux发行版本如Linux Mint也是基于Ubunt ...

  10. POJ2221+模拟

    参考http://blog.sina.com.cn/s/blog_7de5c6210100tm1h.html 其实是水题............ #include<string.h> #i ...