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 思路:多源多汇,直接Floyd然后判断每个点之间的距离是否大于7即可,代码如下:
const int maxm = ;
const int INF = 0x7fffffff; int N, M, G[maxm][maxm]; void init() {
for (int i = ; i < N; ++i) {
for (int j = ; j < N; ++j) {
if(i == j)
G[i][i] = ;
G[i][j] = INF;
}
}
} int main() {
while(scanf("%d%d",&N,&M) != EOF) {
init();
for (int i = ; i < M; ++i) {
int t1, t2;
scanf("%d%d", &t1, &t2);
G[t1][t2] = G[t2][t1] = ;
}
for (int k = ; k < N; ++k) {
for (int i = ; i < N; ++i) {
for(int j = ; j < N; ++j) {
if(G[i][k] < INF && G[k][j] < INF)
G[i][j] = min(G[i][j], G[i][k] + G[k][j]);
}
}
}
bool flag = true;
for(int i = ; i < N-; ++i)
for(int j = i+; j < N;++j) {
if(G[i][j] > ) {
flag = false;
break;
}
}
if(flag)
printf("Yes\n");
else
printf("No\n");
}
return ;
}
												

最新文章

  1. 【Java每日一题】20161213
  2. What Is Mathematics?
  3. Nessus常见问题整理
  4. Blocks的实现
  5. IDEA【 MyBatis Plugin】 插件免费完美运行
  6. jquery 提示简单效果插件 cluetip
  7. Weak Event Patterns
  8. 时间处理总结(三)javascript与WCF
  9. 使用putty上传文件到linux系统
  10. 【easy】349. Intersection of Two Arrays
  11. Target JRE version (1.7.0_79) does not match project JDK version (java version &quot;1.8.0_171&quot;), will use sources from JDK: 1.7
  12. fetch数据请求的封装
  13. youtube-dl更新出错解决办法
  14. 【shell脚本】 变量基础学习整理
  15. 【转】IAR for STM8介绍、下载、安装与注册
  16. (c#) 销毁资源和释放内存
  17. centos7的防火墙配置
  18. Sublime Text2中的快捷键一览表(Sublime 键盘快捷键大全 )
  19. 微信小程序入坑之自定义组件
  20. flight framework 核心解读

热门文章

  1. 2019牛客暑期多校训练营(第十场) Han Xin and His Troop (高精度+拓展中国剩余定理)
  2. 命令关闭tomcat
  3. StaticLinkList(静态链表)
  4. python浅析格式化输出和深浅copy
  5. i.MX RT600之DSP调试环境搭建篇
  6. HTML、HTML5重难点
  7. DVWA靶机的命令执行漏洞
  8. Python学习笔记003
  9. Python学习第十三课——re(正则表达式)模块
  10. Excel使用小技巧