题目

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

题目大意

给你n个点,m条边,问是否任意两点能通过不多于6个点连接

题解

因为n很小(不超过100),可以用djkstra算法枚举每个点,复杂度O(n3)

代码

#include <iostream>
#include <cstring>
using namespace std;
const int N = 110;
int n,m, map[N][N],w[N][N];
bool st[N];
void dijkstra(int a)
{for(int i = 0; i < n; i ++)for(int j = 0; j < n; j ++)w[i][j] = map[i][j];memset(st,0,sizeof st);for(int i = 0; i < n; i ++){int t1 = 0x3f3f3f3f + 1, t2;for(int j = 0; j < n; j ++)if(!st[j] && t1 > w[a][j]){t1 = w[a][j];t2 = j;}st[t2] = true;for(int j = 0; j < n; j ++)w[a][j] = min(w[a][j],t1+w[t2][j]);}}
int main()
{while(scanf("%d%d", &n, &m) != EOF){memset(map,0x3f,sizeof map);for(int i = 1; i <= m; i ++){int a,b;scanf("%d%d",&a,&b);map[a][b] = map[b][a] = 1;}for(int i = 0; i < n; i ++)map[i][i] = 0;bool ans = true;for(int i = 0; i < n-1 && ans; i ++){dijkstra(i);for(int j = i+1; j < n && ans; j ++)if(w[i][j] > 7) ans = false;}if(ans)printf("Yes\n");else printf("No\n");}return 0;
}

寒假集训_专题三题解_C - 六度分离相关推荐

  1. 2019年寒假集训-二分专题

    问题 A: [递归]二分查找 题目描述 用递归算法实现二分查找,即:有n个已经从小到大排序好的数据(不重复),从键盘输入一个数X,用对半查找方法,判断它是否在这n个数中. 输入 第一行,正整数n,N& ...

  2. NEFU 2021大一寒假集训总结赛 全题解

    比赛链接:这里 OP 肝了两个半小时A,没过-- sl大佬也写题解了 A SET 最大公约数 感谢老师的标程~ 思路 任选两数 a,b 做 2*a-b 运算,可以理解成 a + a - b ,即 a ...

  3. 第二阶段_第三小节_C#基础

    第二小节 本节用到的方法举例 自学API方法 //自学API的步骤: //1.看名字猜功能 //2.看方法描述信息 //3.看参数(类型.名称.描述信息) //4.看返回值(类型.描述信息) //5. ...

  4. 2020寒假集训排位赛 Cow Gymnastics 题解(思维)

    专题链接:https://codeforces.com/group/5yyKg9gx7m/contest/269717/problem/A 思路 这道题乍一看没什么思路,但经过观察可以发现,如果两头牛 ...

  5. 寒假集训三(暴力枚举)2020.01.02(11题)

    寒假集训三(暴力枚举)id :521 Problem:A 二倍的问题 Description 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍.比如给 ...

  6. 关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训)

    关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训) 题目: 链接:https://ac.nowcoder.com/acm/contest/3004/B 来源:牛客网 题目描述 ...

  7. 2019NEFU寒假集训新生考试 2020.1.6

    2019NEFU寒假集训新生考试 2020.1.6 为期一周的的培训终于面临尾声,就以一场考试告终吧. A 28的因子 Description 我们都知道28的因子中含有4和7,而某些人偏爱数字4和7 ...

  8. 寒假集训总结 (1.23~1.28) [第一梯队]

    Day 1. 分治算法入门 一.分治法概述 分治法的设计思想 对于一个规模为 n n n的问题:若该问题可以容易地解决(比如说规模 n n n较小)则直接解决,否则将其分解为 k k k个规模较小的子 ...

  9. 开发指南专题三:JEECG微云快速开发平台项目编码规范

    开发指南专题三:JEECG微云快速开发平台项目编码规范 4. 项目编码规范 4.1. 项目编码规范 1. 项目编码格式为UTF-8(包括:java,jsp,css,js) 2. sevice接口命名: ...

  10. DP\记忆化搜索-牛客寒假集训营3-牛牛的DRB迷宫I

    DP-牛客寒假集训营3-牛牛的DRB迷宫I 题目: 题意: 求迷宫问题的方案数量.与--求迷宫问题的方案数量.与--求迷宫问题的方案数量.与--DP题型总结中的<摘花生>类似.中的< ...

最新文章

  1. 手机号验证_国际手机号收不到微博验证短信,微博验证短信一直提示超过上限怎么办?...
  2. ubuntu安装http server
  3. VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题
  4. (十七)深入浅出TCPIP之UDP打洞原理
  5. Uniswap V3的流通性突破5亿美元,24小时交易量仅次于V2和Sushiswap
  6. Ceilometer的知识总结
  7. Struts2之OGNL表达式与值栈对象及常用标签的使用
  8. git push或git pull等其他git命令 出现unable to access ‘https://gitee.com/你的git仓库地址)清除网络代理
  9. nef是什么格式?nef格式用什么软件打开?nef格式怎么转换成jpg
  10. 凑微分公式_凑微分法解常见函数的积分方法
  11. 硬盘检测重映射扇区计数失败
  12. 用文字总结出计算机组装步骤,项目教学法在《计算机组装与维护》中的运用与反思(杜燕)...
  13. aix oracle 10.2.0.1 升级 10.2.0.4,【江枫 】AIX平台升级到Oracle10.2.0.4的几个问题
  14. Proteus和Keil两个软件的联合使用
  15. 论文阅读 Glow: Generative Flow with Invertible 1×1 Convolutions
  16. 西门子1200 plc与台达14ES plc之间modbus 通讯实战程序 西门子1200plc做主站,台达DVP plc做从站,进行数据交换
  17. win7系统如何升级到win10专业版教程
  18. Linux上编译curl
  19. 【C++】C++顺序栈实现的计算器
  20. android 平板root,【Android】免root即能修改Android ID,實現手機平板共用一個Line不互踢...

热门文章

  1. 电动机效率 matlab,【原创】matplotlib绘制电机效率MAP图
  2. 自定义容器实现类似Windows屏保功能
  3. 200行Python实现的qq连连看辅助,用于学习,请不要拿去伤害玩家
  4. Albumentation使用指南
  5. 谷歌浏览器刷新快捷键
  6. 无心剑英译许巍《温暖》
  7. js逆向巨潮mcode
  8. Windows10 如何禁用或删除大的Hiberfil.sys和Pagefile.sys文件
  9. Basic Test Knowledge-Difference between UAT and usability testing?
  10. 证件照背景蓝色变其他颜色——用python与OpenCV