六度分离

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6509    Accepted Submission(s): 2627
Problem Description
1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6个人,即只用6个人就可以将他们联系在一起,因此他的理论也被称为“六度分离”理论(six degrees of separation)。虽然米尔格兰姆的理论屡屡应验,一直也有很多社会学家对其兴趣浓厚,但是在30多年的时间里,它从来就没有得到过严谨的证明,只是一种带有传奇色彩的假说而已。

Lele对这个理论相当有兴趣,于是,他在HDU里对N个人展开了调查。他已经得到了他们之间的相识关系,现在就请你帮他验证一下“六度分离”是否成立吧。

Input
本题目包含多组测试,请处理到文件结束。
对于每组测试,第一行包含两个整数N,M(0<N<100,0<M<200),分别代表HDU里的人数(这些人分别编成0~N-1号),以及他们之间的关系。
接下来有M行,每行两个整数A,B(0<=A,B<N)表示HDU里编号为A和编号B的人互相认识。
除了这M组关系,其他任意两人之间均不相识。
Output
对于每组测试,如果数据符合“六度分离”理论就在一行里输出"Yes",否则输出"No"。
Sample Input
8 7 0 1 1 2 2 3 3 4 4 5 5 6 6 7 8 8 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0
Sample Output
Yes Yes
#include<stdio.h>
#define INF 0xfffffff
#include<string.h>
#define N 120
int country,road;
int v[N],map[N][N],cost[N];
void dij(int sta)
{int mincost,next;int i,j;memset(v,0,sizeof(v));for(i=0;i<country;i++)cost[i]=map[sta][i];v[sta]=1;for(i=1;i<country;i++){mincost=INF;for(j=0;j<country;j++){if(!v[j]&&cost[j]<mincost){mincost=cost[j];next=j;}}v[next]=1;for(j=0;j<country;j++){if(!v[j]&&cost[j]>cost[next]+map[next][j])cost[j]=cost[next]+map[next][j];}}
}
int max()//寻找最大的距离(两人之间的)
{int y=-1;int u;int i,j;for(j=0;j<country;j++){dij(j);for(i=j+1;i<country;i++){if(cost[i]>y)y=cost[i];}}return y;
}int main()
{while(scanf("%d%d",&country,&road)!=EOF){int i,j;for(i=0;i<country;i++)//初始化 {map[i][i]=0;for(j=0;j<country;j++){if(i!=j){map[i][j]=INF;}}}int a,b;while(road--){    scanf("%d%d",&a,&b);map[b][a]=map[a][b]=1;//任何两人之间的距离都是1 }int s=max();if(s>7)//是否满足条件 printf("No\n");elseprintf("Yes\n");}return 0;
}

hdoj 1869 六度分离相关推荐

  1. 六度分离/HDOJ 1869

    六度分离/HDOJ 1869 题目 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为"小世界现象(small world phenomenon)"的著名假说,大意是说 ...

  2. 杭电1869六度分离

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

  3. hdu 1869 六度分离(bfs)

    链接 六度分离 题意: 给一张无向关系图,要求两个不直接相邻的人之间最多隔着六个人,问是否满足该条件.仔细考虑一下,其实就是如果两个人之间的距离是否会大于7或者不联通,就是不满足的. 思路: 最短路裸 ...

  4. HDU - 1869 六度分离 (Floyd算法)

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

  5. 【HDOJ图论题集】【转】

    1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...

  6. 六度分离(hdu1869,floyd最短路)

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29015#problem/D http://acm.hdu.edu.cn/showprob ...

  7. 杭电OJ分类题目(4)-Graph

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(4) HDU Graph Theory - U ...

  8. 一系列图论问题[转]

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  9. 8-12-COMPETITION

    链接:最短路 A.HDU 2544    最短路 算是最基础的题目了吧.............我采用的是Dijkstra算法....... 代码: 1 #include <iostream&g ...

最新文章

  1. spring Batch实现数据库大数据量读写
  2. php log在哪里看,PHP Log时时查看小工具
  3. vim设置solarized配色
  4. 完整计算机组成系统,计算机组成原理与完整系统结构.doc
  5. oracle 如何获取表的主键列名,如何获取表的所有列名
  6. python自动操作excel_Python自动化办公之操作Excel
  7. u盘启动 联想一体机_联想Y430pAT-ISE(H)U盘安装Win7系统教程
  8. 知识点滴:持久层,DAO,API,DAL,BLL,DLL,csproj,sln
  9. MySQL必会企业面试题
  10. OpenStack日志搜集分析之ELK
  11. IPD产品开发流程详解
  12. Java学习教程,Java基础教程(入门到精通)
  13. vue-socket.io 对IE浏览器(IE10+)的兼容性修复
  14. Python基础——模块和正则表达式
  15. 车马邮件都慢,一生只够爱一个人
  16. 百度是如何给每个人免费提供2TB存储空间的?
  17. 稍微好看点的登录页面html
  18. 从“蛙步”到“雁行”vivo的新周期与新常态
  19. mulesoft MCIA 破釜沉舟备考 2023.02.10.01
  20. 如何将英文文献转中文?

热门文章

  1. Compose关于Column属性说明
  2. AutoCAD2007中文版【64位】下载地址 仅供学习交流
  3. 用什么样的方法可以快速计算机,怎么让电脑加速50%_教你一招快速给电脑提速的方法...
  4. 今天收到朋友一张很有创意的圣诞贺卡:)
  5. 我国经济最强的城市是哪个?北京、上海、还是深圳?
  6. [Andriod]Andriod之HelloWorld
  7. 张朝阳:诚惶诚恐才能生存
  8. 虚拟键盘灯 软件分享
  9. 快速以太网中传输介质100BASE-TX
  10. newInstance过时