hdu 1869 六度分离(bfs)
链接 六度分离
题意:
给一张无向关系图,要求两个不直接相邻的人之间最多隔着六个人,问是否满足该条件。仔细考虑一下,其实就是如果两个人之间的距离是否会大于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)相关推荐
- HDU - 1869 六度分离 (Floyd算法)
1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为"小世界现象(small world phenomenon)"的著名假说,大意是说,任何2个素不相识的人中间最多只隔着 ...
- 【HDU 1869】六度分离
1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为"小世界现象(small world phenomenon)"的著名假说,大意是说,任何2个素不相识的人中间最多只隔着 ...
- hdu - 1072 Nightmare(bfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1072 遇到Bomb-Reset-Equipment的时候除了时间恢复之外,必须把这个点做标记不能再走,不然可能造 ...
- HDU 1242 Rescue BFS+优先队列
题目链接:点击打开链接http://acm.hdu.edu.cn/showproblem.php?pid=1242 #include <stdio.h> #include <stri ...
- HDU - 1043 Eight(bfs打表)
题目链接:点击查看 题目大意:八数码经典问题,给出一个3*3的矩阵,其中随机分布着1~8的数字以及一个空位(我们用x来表示空位),在整个矩阵中,每一次操作都可以将x和他附近的方块互换,问经过多少次操作 ...
- hdu 1241Oil Deposits(BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 Oil Deposits Time Limit: 2000/1000 MS (Java/Othe ...
- 杭电1869六度分离
六度分离 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hdoj 1869 六度分离
六度分离 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hdu 1240(三维bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1240 思路:就是一个简单的bfs,但我搞了好久啊,有一个trick一直没注意到,然后第二组数据就一直过 ...
最新文章
- 标 题:[转帖]SQL Server日期计算(收藏)
- 最新图解 FileZilla Server + FlashFXP 快速傻瓜式搭建FTP服务
- boost::geometry::convert用法的测试程序
- 定时执行程序-Quartz简单实例
- python3爬虫初探(三)之正则表达式
- 大厂Java岗面试心得记录
- 防灾科技学院计算机组成原理,防灾科技学院计算机组成原理复习材料1
- 一个莫名的人,竞标,教训,韩国女人
- 字符串处理问题[2]:将一个数字型…
- C++primer 10.5.1节练习
- [二分]TYVJ1359 收入计划
- 手机号码校验、邮箱校验
- 中国2017 Google 开发者大会第二天简单回顾
- 微信公众号(服务号)授权登录
- 为什么阿里巴巴不建议MySQL使用Text类型?
- 2018蓝桥杯模拟赛(一)--青出于蓝而胜于蓝(线段树)
- nginx ajax 504,内网配置错误引起的nginx 504 Connection timed out
- UVA - 1427 Paradev单调队列
- 中国大学mooc慕课python答案_中国大学MOOC(慕课)Python编程基础答案
- 【小程序开发之准备工作】如何开通云开发和CMS内容管理平台