题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1869

题意分析:比较简单的最短路算法,最后只需判断最远两点距离是否大于7即可。

  1. /*六度分离
  2.  
  3. Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
  4. Total Submission(s): 4992 Accepted Submission(s): 2010
  5.  
  6. Problem Description
  7. 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多年的时间里,它从来就没有得到过严谨的证明,只是一种带有传奇色彩的假说而已。
  8.  
  9. Lele对这个理论相当有兴趣,于是,他在HDU里对N个人展开了调查。他已经得到了他们之间的相识关系,现在就请你帮他验证一下“六度分离”是否成立吧。
  10.  
  11. Input
  12. 本题目包含多组测试,请处理到文件结束。
  13. 对于每组测试,第一行包含两个整数N,M(0<N<100,0<M<200),分别代表HDU里的人数(这些人分别编成0~N-1号),以及他们之间的关系。
  14. 接下来有M行,每行两个整数A,B(0<=A,B<N)表示HDU里编号为A和编号B的人互相认识。
  15. 除了这M组关系,其他任意两人之间均不相识。
  16.  
  17. Output
  18. 对于每组测试,如果数据符合“六度分离”理论就在一行里输出"Yes",否则输出"No"。
  19.  
  20. Sample Input
  21. 8 7
  22. 0 1
  23. 1 2
  24. 2 3
  25. 3 4
  26. 4 5
  27. 5 6
  28. 6 7
  29. 8 8
  30. 0 1
  31. 1 2
  32. 2 3
  33. 3 4
  34. 4 5
  35. 5 6
  36. 6 7
  37. 7 0
  38.  
  39. Sample Output
  40. Yes
  41. Yes
  42.  
  43. Author
  44. linle
  45.  
  46. Source
  47. 2008杭电集训队选拔赛——热身赛
  48. */
  49. //floyd算法 dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j])
  50. #include <cstdio>
  51. #include <cstring>
  52. #include <iostream>
  53. using namespace std;
  54. const int maxn = + ;
  55. int d[maxn][maxn], n, m;
  56. #define INF 10000001
  57. void init()
  58. {
  59. for(int i = ; i < maxn; i++)
  60. for(int j = ; j < maxn; j++)
  61. if(i == j) d[i][j] = ;
  62. else d[i][j] = INF;
  63. }
  64.  
  65. int Judge()
  66. {
  67. for(int i = ; i < n; i++)
  68. for(int j = ; j < n; j++)
  69. if(d[i][j] > ) return ;
  70. return ;
  71. }
  72.  
  73. int main()
  74. {
  75. int a, b;
  76. while(~scanf("%d%d", &n, &m)){
  77. init();
  78. for(int i = ; i < m; i++){
  79. scanf("%d%d", &a, &b);
  80. d[a][b] = d[b][a] = ;
  81. }
  82. for(int k = ; k < n; k++)
  83. for(int i = ; i < n; i++)
  84. for(int j = ; j < n; j++)
  85. d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
  86. if(Judge()) printf("Yes\n");
  87. else printf("No\n");
  88. }
  89. return ;
  90. }

hdu 六度分离 floyd的更多相关文章

  1. HDU - 1869 六度分离 Floyd多源最短路

    六度分离 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即 ...

  2. hdu1869六度分离(floyd)

    六度分离 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. hdu 1704 (Floyd 传递闭包)

    Rank Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  4. HDU 1596 floyd

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  5. hdu 4571 floyd+动态规划

    思路: 我们先求一遍floyd,将各点的最短距离求出,然后将点按si的升序排序.dp[i][k]表示第i个点在第j时间所获得的最大效益,那么 dp[i][k]=max(dp[ i ][ k ]  , ...

  6. hdu 六度分离

    http://acm.hdu.edu.cn/showproblem.php?pid=1869 #include <cstdio> #include <cstring> #inc ...

  7. HDU 1317(Floyd判断连通性+spfa判断正环)

    XYZZY Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  8. 一个人的旅行HDU 2066 floyd

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  9. 畅通工程续 -- HDU 1874 floyd

    题目大意: 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离. 思路: floyd算法模板题,这是一个牺牲空间换取时间的算法,本质是动态规划. AC代码: #include < ...

随机推荐

  1. c#(asp.net)杂谈笔记

    1.js解析json格式的时间 //转换json格式时间的方法 如Date(1340239979000)转换为正常 function ConvertJSONDateToJSDateObject(JSO ...

  2. MAC下配置gradle用eclipse 打包android程序

    1.下载gradle binhttp://gradle.org/gradle-download/ 2.配置gradle,http://www.douban.com/note/311599602/htt ...

  3. 解决TIME_WAIT过多问题

    http://bbs.linuxtone.org/thread-853-1-1.html http://bbs.linuxtone.org/thread-2327-1-1.html

  4. listen和accept函数

    listen函数是用来设置监听连接的句柄和队列 当listen函数执行完成以后,服务端就已经可以接受客户端来的新连接了,新连接完成以后listen会把客户端的ip,port和连接句柄放在监听队列里面, ...

  5. 基础知识 - Golang 中的正则表达式

    ------------------------------------------------------------ Golang中的正则表达式 ------------------------- ...

  6. jquery动态生成css样式表

    $(function(){     var a=new Date().getTime();// 实时加载,目的是清除缓存    $("head").append('<link ...

  7. jquery操作cookie {分享}

    web开发过程中如果网站有一部分信息是存储在cookie中并与服务器交互的话,那么前台有时就会遇到需要对cookie中信息进行操作的情况,一个最典型的例子就是在前台判断用户是否登录过当前所访问的网站. ...

  8. Localizing WPF with .resx files

    WPF用Resource.resX中的字符串进行国际化 增加命名空间 xmlns:prop="clr-namespace:XXAppName.Properties" 引用的地方的格 ...

  9. [HTML] Google IE-x.js 解决IEx与W3C标准的冲突

    如果分别用IE5.IE6.IE7浏览同一个网页,将可能出现不一样的效果.这是它们之间对CSS的解析选择器不一样或错误和个别bug所导致.为了解决这些错误和bug.我们不得不找到一个能平衡于它们之间的解 ...

  10. 沈逸老师PHP魔鬼特训笔记(1)

    此课程个人开发环境可以考虑使用Ubuntu ,推荐sublime和PhpStorm作为开发环境.一.PHP的一大特性是:脚本语言.不要编译,写完就可以运行? 然而并不是....... PHP代码要想运 ...