题目链接:http://poj.org/problem?id=1251

字符用%s好了,方便一点。

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define INF 0x3f3f3f3f
  5.  
  6. int maps[][];
  7. bool vis[];
  8. int dis[];
  9. int n;
  10.  
  11. int Prim()
  12. {
  13. memset(vis,false,sizeof(vis));
  14. for(int i=; i<=n; i++)
  15. dis[i] = INF;
  16. int ans=;
  17. dis[] = ;
  18. for(int i=; i<=n; i++)
  19. {
  20. int tmp = INF,k=;
  21. for(int j=; j<=n; j++)
  22. {
  23. if(!vis[j]&&dis[j]<tmp)
  24. {
  25. tmp = dis[j];
  26. k=j;
  27. }
  28. }
  29.  
  30. vis[k] = true;
  31. ans+=tmp;
  32. for(int i=; i<=n; i++)
  33. {
  34. if(!vis[i]&&dis[i]>maps[k][i])
  35. dis[i] = maps[k][i];
  36. }
  37. }
  38. return ans;
  39. }
  40.  
  41. int main()
  42. {
  43. while(scanf("%d",&n),n)
  44. {
  45. for(int i=; i<=n; i++)
  46. {
  47. for(int j=; j<=n; j++)
  48. if(i==j)
  49. maps[i][j]=;
  50. else maps[i][j] = INF;
  51. }
  52. for(int i=; i<n-; i++)
  53. {
  54. int t;
  55. char a[],b[];
  56. scanf("%s%d",a,&t);
  57. for(int j=; j<t; j++)
  58. {
  59. int dist;
  60. scanf("%s%d",b,&dist);
  61. maps[a[]-'A'+][b[]-'A'+] = maps[b[]-'A'+][a[]-'A'+] = dist;
  62. }
  63. }
  64. printf("%d\n",Prim());
  65. }
  66. return ;
  67. }

Poj(1251),Prim字符的最小生成树的更多相关文章

  1. POJ 1251 Jungle Roads(最小生成树)

    题意  有n个村子  输入n  然后n-1行先输入村子的序号和与该村子相连的村子数t  后面依次输入t组s和tt s为村子序号 tt为与当前村子的距离  求链接全部村子的最短路径 还是裸的最小生成树咯 ...

  2. POJ 1251 Jungle Roads (最小生成树)

    题目: Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign ...

  3. POJ - 1251 Jungle Roads (最小生成树&并查集

    #include<iostream> #include<algorithm> using namespace std; ,tot=; const int N = 1e5; ]; ...

  4. poj 1251 Jungle Roads (最小生成树)

    poj   1251  Jungle Roads  (最小生成树) Link: http://poj.org/problem?id=1251 Jungle Roads Time Limit: 1000 ...

  5. POJ 1251 Jungle Roads (prim)

    D - Jungle Roads Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Su ...

  6. poj 1251 poj 1258 hdu 1863 poj 1287 poj 2421 hdu 1233 最小生成树模板题

    poj 1251  && hdu 1301 Sample Input 9 //n 结点数A 2 B 12 I 25B 3 C 10 H 40 I 8C 2 D 18 G 55D 1 E ...

  7. HDU-1233 还是畅通工程 (prim 算法求最小生成树)

    prim 算法求最小生成树 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  8. Prim和Kruskal最小生成树

    标题: Prim和Kruskal最小生成树时 限: 2000 ms内存限制: 15000 K总时限: 3000 ms描述: 给出一个矩阵,要求以矩阵方式单步输出生成过程.要求先输出Prim生成过程,再 ...

  9. Kruskal和Prim算法求最小生成树

    Kruskal算法求最小生成树 测试数据: 5 6 0 1 5 0 2 3 1 2 4 2 4 2 2 3 1 1 4 1 输出: 2 3 1 1 4 1 2 4 2 0 2 3 思路:在保证不产生回 ...

随机推荐

  1. 网络地址转换NAT原理及其作用

    1 概述 1.1 简介 NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task F ...

  2. NGUI之Slider,最简单的方法做进度条。

    既然标题是最简单的,那么很多东西就不需要我们自己做了,使用的是NGUI的示例,只针对初学者,接下来让我们来做一个最简单游戏设置里的声音控制. 1.导入NGUI: 2.找到NGUI的Menu示例Demo ...

  3. DBConfigReader.java

    package com.vcredit.ddcash.batch.util; import java.sql.Connection;import java.sql.PreparedStatement; ...

  4. IOS第二天多线程-05NSOperationQueue 暂停,和恢复队列任务

    *********** #import "HMViewController.h" @interface HMViewController () <UITableViewDel ...

  5. C# Dictionary已知value获取对应的key

    1:循环遍历法,分为遍历key-value键值对和遍历所有key两种形式 2:使用Linq查询法 private void GetDictKeyByValue() { Dictionary<in ...

  6. iOS 用collectionview 做的无限图片滚动 广告banner适用

    使用方法见demo,bug未知,若有什么问题欢迎留言:) http://files.cnblogs.com/files/n1ckyxu/NickyScrollImageView.zip demo使用s ...

  7. ElasticSearch集群未连接 无法发现节点(windows环境)以及windows环境下设置服务 不能自动启动的问题

    1.无法发现节点的错误: 试验了很多情况,但是总是无法加入集群,后来尝试了一下步骤,问题解决: 1.删除所有数据,重启:无效: 2.统一配置,全部重启,无效: 3.关闭所有防火墙,全部重启,无效: … ...

  8. vi基本命令

    http://www.cnblogs.com/younggun/p/3190820.html 要记得经常练习

  9. jQuery源代码学习之七—队列模块queue

    一.jQuery种的队列模块 jQuery的队列模块主要是为动画模块EFFECTS提供支持,(不过到现在为了支持动画队列的inprogress的出入队还是搞不太清楚),单独抽取出一个命名空间是为了使程 ...

  10. impdp报错: ORA-39064: 无法写入日志文件 ORA-29285: 文件写入错误

    windows平台下,oracle 11.2.0.1在使用impdp向测试环境导入数据的时候,报出如下错误: 错误原因: 数据泵在写日志文件的时候,使用的是数据库字符集.如果客户端的环境变量NLS_L ...