六度分离

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 ;
}

HDU ACM 1869 六度分离(Floyd)的更多相关文章

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

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

  2. hdu 1869 六度分离(最短路floyd)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1869 六度分离 Time Limit: 5000/1000 MS (Java/Others)    M ...

  3. ACM: HDU 1869 六度分离-Dijkstra算法

    HDU 1869六度分离 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descri ...

  4. hdu 1869 (Floyd)

    http://acm.hdu.edu.cn/showproblem.php?pid=1869 六度分离 Time Limit: 5000/1000 MS (Java/Others)    Memory ...

  5. hdu acm 1028 数字拆分Ignatius and the Princess III

    Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  6. HDU 1869 六度分离【floyd】

    题意:给出n个人,m个关系,问是否满足任意两个人之间的距离通过6个人就可以连接 用floyd就可以了,注意距离是大于7 #include<iostream> #include<cst ...

  7. hdu 六度分离 floyd

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1869 题意分析:比较简单的最短路算法,最后只需判断最远两点距离是否大于7即可. /*六度分离 Time ...

  8. HDU 1869 六度分离

    六度分离 http://acm.hdu.edu.cn/showproblem.php?pid=1869 Problem Description 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一 ...

  9. HDU 1869 六度分离 最短路

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

随机推荐

  1. [每天解决一问题系列 - 0010] ADB Not Responding - Android Studio

    问题描述: 最近安装了Android Studio v1.0,运行的时候老是这个错误 解决方案: 网上有人说是已经有adb的进程在运行,可是打开任务管理器,找不到对应的adb 进程. 无奈之下,想到a ...

  2. odoo开发笔记 -- 搜索视图继承扩展

    odoo开发笔记 -- 搜索视图继承扩展

  3. .net core内部分享ppt

    Microsoft .NET 自 2002 年发行 v1.0 以来,已经过了近 14 个年头,在这 14 年里面,.NET 日渐成熟并成为 Microsoft 的重要开发平台之一,只要是在 Windo ...

  4. Hashtable,HashMap,TreeMap有什么区别?Vector,ArrayList,LinkedList有什么区别?int和Integer有什么区别?

    接着上篇继续更新. /*请尊重作者劳动成果,转载请标明原文链接:*/ /*https://www.cnblogs.com/jpcflyer/p/10759447.html* / 题目一:Hashtab ...

  5. 如何在Lua与C/C++之间实现table数据的交换

    之前在<C/C++和Lua是如何进行通信的?>一文中简单的介绍了lua与宿主之间的通信.简单的说两种不同的语言之间数据类型不一样又如何进行数据交换呢?那就是lua_State虚拟栈,通过栈 ...

  6. k8s集群之上游dns--dnsmasq,统一管理kubernetes的dns解析

    1.概述 首先部署好kubernetes集群并采用Coredns进行解析,这样集群内部的服务都能通过内部域名进行访问.但是集群内部的coredns与物理机的dns解析不完全统一,coredns不能解析 ...

  7. iframe可通过postMessage解决跨域、跨窗口消息传递

    https://www.cnblogs.com/dorothyorsusie/p/6178599.html //iframe传参给父级页面 function give_info(){ console. ...

  8. JavaScript实现iphone时钟

    看效果(欢迎各位同学推荐更好的gif制作软件) 请看代码 <!DOCTYPE html> <html lang="en"> <head> < ...

  9. [转]Angular CLI 安装和使用

    本文转自:https://www.jianshu.com/p/327d88284abb 一. 背景介绍: 两个概念: 关于Angular版本,Angular官方已经统一命名Angular 1.x统称为 ...

  10. Umbraco 7 特点

    Umbraco 7 features at a glance The backend is mainly built on .NET C# MVC. There are some leftovers ...