六度分离

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2927    Accepted Submission(s): 1127

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

【解题思路】Floyd算法,要证明两个素不相识的人通过中间的六个人就能联系起来,这就意味着这两个素不相识的人之间的最短距离不超过7,用Floyd算出每两个人之间的距离,然后在素不相识的情况下判断两个人之间的距离是否小于等于7,否则就不满足“六度分离”理论

 #include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <map>
#include <algorithm>
#include <cmath> #define NV 101
#define NE 202 using namespace std; const int INF = <<;
const double eps = 1e-;
int ne, nv;
int Rate[NV][NV];
bool con[NV][NV];
map<string, int> simap; bool Floyd()
{
for(int k = ; k < nv; ++k)
for(int i = ; i < nv; ++i)
if(Rate[i][k] < INF)
for(int j = ; j < nv; ++j)
if(Rate[k][j] < INF && Rate[i][j] > Rate[i][k] + Rate[k][j])
Rate[i][j] = Rate[i][k] + Rate[k][j];
for(int i = ; i < nv; ++i)
for(int j = i; j < nv; ++j)
{
if(i != j && !con[i][j] && Rate[i][j] > )
return false;
}
return true;
} int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif
while(cin >> nv >> ne)
{
for(int i=; i<nv; ++i)
for(int j=i; j<nv; ++j)
{
Rate[i][j] = Rate[j][i] = INF;
con[i][j] = con[j][i] = false;
} for(int i=, u, v; i<ne; ++i)
{
cin >> u >> v;
Rate[u][v] = Rate[v][u] = ;
con[u][v] = con[v][u] = true;
}
if(Floyd()) printf("Yes\n");
else printf("No\n");
}
return ;
}

最新文章

  1. Android ORM -- Litepal(1)
  2. powershell使用
  3. 用SignalR实现的共享画板例子
  4. beagleBone black 中QT的移植
  5. python 库安装
  6. Android ActionBar Home按钮返回事件处理的两种方式
  7. asp.net mvc页面javascript代码中如何使用razor
  8. Linux命令学习---目录
  9. javascript 要注意的事项
  10. Arduino周边模块:LED部件
  11. scope_lock与lock_guard区别
  12. APP自动化框架LazyAndroid使用手册(1)--框架简介
  13. 菜鸟学IT之python网页爬取初体验
  14. 【JS】【2】ajax传的参数为数组时,后台接收为null的处理
  15. 【MyBean调试笔记】接口的使用和清理
  16. mysql常见问题解决方法.
  17. Java连接Oracle数据库示例
  18. HDUOJ -----1686
  19. 【OCP 12c】最新CUUG OCP-071考试题库(61题)
  20. java 包装类和基础数据

热门文章

  1. cannot download, /home/azhukov/go is a GOROOT, not a GOPATH
  2. 课程四(Convolutional Neural Networks),第三 周(Object detection) —— 2.Programming assignments:Car detection with YOLOv2
  3. Java访问文件夹中文件的递归遍历代码Demo
  4. LoadRunner通过SiteScope监控MySQL的性能
  5. CSRF理解和实战
  6. gbk转utf-8
  7. 解决 &quot;Script Error&quot; 的另类思路
  8. sql server备份和还原
  9. 如何在线显示php源代码
  10. Angularjs 通过asp.net web api认证登录