链接 六度分离

题意:
给一张无向关系图,要求两个不直接相邻的人之间最多隔着六个人,问是否满足该条件。仔细考虑一下,其实就是如果两个人之间的距离是否会大于7或者不联通,就是不满足的。
思路:
最短路裸题,三种常用的最短路方法都能写,但根据每条边的距离都是1的特点,可以利用 bfs的特点,求最短路。其他几种方法就不记录了。

代码:

#include<iostream>
#include<cstdio>
#include<map>
#include<math.h>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=2e2+7;
int dis[maxn],n,m,mp[maxn][maxn],vis[maxn];
int bfs(int s,int v){memset(dis,0x3f3f3f3f,sizeof(dis));memset(vis,0,sizeof(vis));queue<int >que;dis[s]=v;vis[s]=1;       //起点距离赋值为 0 ;que.push(s);while(que.size()){int x=que.front();que.pop();for(int i=0;i<n;i++){if(mp[x][i]!=0&&vis[i]==0){   //vis=0表示这个点还没有访问过  mp!=0表示两个点可以直接访问.dis[i]=dis[x]+1;          //这个点到起点的距离等于上个点的距离 +1vis[i]=1;                 //标记访问过的点que.push(i);              //该点放入队列}}}for(int i=0;i<n;i++){if(dis[i]>7) return false;        //距起点距离大于 5 说明不符合}return true;
}
int main (){while(scanf("%d%d",&n,&m)!=EOF){int u,v,flag=1;memset(mp,0,sizeof(mp));for(int i=0;i<m;i++){cin>>u>>v;mp[u][v]=mp[v][u]=1;  //mp存图}for(int i=0;i<n;i++){if(!bfs(i,0)){flag=0;break;}}if(flag) printf ("Yes\n");else printf ("No\n");}}

hdu 1869 六度分离(bfs)相关推荐

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

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

  2. 【HDU 1869】六度分离

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

  3. hdu - 1072 Nightmare(bfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=1072 遇到Bomb-Reset-Equipment的时候除了时间恢复之外,必须把这个点做标记不能再走,不然可能造 ...

  4. HDU 1242 Rescue BFS+优先队列

    题目链接:点击打开链接http://acm.hdu.edu.cn/showproblem.php?pid=1242 #include <stdio.h> #include <stri ...

  5. HDU - 1043 Eight(bfs打表)

    题目链接:点击查看 题目大意:八数码经典问题,给出一个3*3的矩阵,其中随机分布着1~8的数字以及一个空位(我们用x来表示空位),在整个矩阵中,每一次操作都可以将x和他附近的方块互换,问经过多少次操作 ...

  6. hdu 1241Oil Deposits(BFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 Oil Deposits Time Limit: 2000/1000 MS (Java/Othe ...

  7. 杭电1869六度分离

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

  8. hdoj 1869 六度分离

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

  9. hdu 1240(三维bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1240 思路:就是一个简单的bfs,但我搞了好久啊,有一个trick一直没注意到,然后第二组数据就一直过 ...

最新文章

  1. 标 题:[转帖]SQL Server日期计算(收藏)
  2. 最新图解 FileZilla Server + FlashFXP 快速傻瓜式搭建FTP服务
  3. boost::geometry::convert用法的测试程序
  4. 定时执行程序-Quartz简单实例
  5. python3爬虫初探(三)之正则表达式
  6. 大厂Java岗面试心得记录
  7. 防灾科技学院计算机组成原理,防灾科技学院计算机组成原理复习材料1
  8. 一个莫名的人,竞标,教训,韩国女人
  9. 字符串处理问题[2]:将一个数字型…
  10. C++primer 10.5.1节练习
  11. [二分]TYVJ1359 收入计划
  12. 手机号码校验、邮箱校验
  13. 中国2017 Google 开发者大会第二天简单回顾
  14. 微信公众号(服务号)授权登录
  15. 为什么阿里巴巴不建议MySQL使用Text类型?
  16. 2018蓝桥杯模拟赛(一)--青出于蓝而胜于蓝(线段树)
  17. nginx ajax 504,内网配置错误引起的nginx 504 Connection timed out
  18. UVA - 1427 Paradev单调队列
  19. 中国大学mooc慕课python答案_中国大学MOOC(慕课)Python编程基础答案
  20. 【小程序开发之准备工作】如何开通云开发和CMS内容管理平台

热门文章

  1. django mysql sql语句_Django中使用mysql数据库并使用原生sql语句操作
  2. *UVALive 6657 - GCD XOR(数学)
  3. LeCo-45. 跳跃游戏 II
  4. 建筑平面布置与防火防烟分区(二)
  5. Android中wifi认证的实现
  6. 计算机键盘打不出字来了,电脑键盘打不出来字怎么办?
  7. java redis 实现pv uv_redis实战-记录PV与UV
  8. 最强内存稳定性测试软件,内存稳定性测试软件TM5
  9. windows配置静态路由表
  10. Pool:对象池源码解读