7-9 六度空间 (30 分) C++实现
7-9 六度空间 (30 分)
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”
C++的临界表实现:
//临界表实现 7-9 六度空间 (30 分) BFS实现 C++
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
int n, m;
vector<int> ch[10001]; //临界表
bool flag[10001]; //是否走过
int juli[10001]; //和i的距离
int BFS(int x)
{queue<int> cun;cun.push(x);int cou = 0;while (cun.size() > 0){int d = cun.front();cun.pop();if (juli[d] == 8)break;if (flag[d] == false){cou++;flag[d] = true;}for (int i = 0; i < ch[d].size(); i++){int data = ch[d][i];if (juli[data] == 0 || juli[data] > juli[d] + 1){juli[data] = juli[d] + 1;cun.push(data);} //更新距离}}return cou;
}
int main()
{int n, m;cin >> n >> m;for (int i = 0; i < m; i++){int a, b;cin >> a >> b;ch[a].push_back(b);ch[b].push_back(a);}for (int i = 1; i <= n; i++){fill(flag, flag + n + 1, false);fill(juli, juli + n + 1, 0); //初始化juli[i] = 1;int cou = BFS(i);double sum = cou * 100 / n;cout << i << ": " << fixed << setprecision(2) << sum << "%" << endl;}
}
7-9 六度空间 (30 分) C++实现相关推荐
- 7-7 六度空间 (30 分)(BFS遍历详解)(DFS最后一个点过不去)
7-7 六度空间 (30 分) 一:题目: 六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:&quo ...
- **06-图3 六度空间 (30 分)**
06-图3 六度空间 (30 分) "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:&q ...
- 7-7 六度空间 (30分)_近30年仅6人生涯总决赛首秀得分30+ 浓眉哥能成下一个吗
在竞争激烈的总决赛上要想得到高分并不容易,一个球员在第一次站上总决赛的舞台的时候要想得到高分更不容易,即使是强如勒布朗-詹姆斯在个人NBA生涯的总决赛首秀中也只是得到14分而已.近30年NBA历史上仅 ...
- 7-7 六度空间 (30分)_现役球员中,谁最可能成下一位30000分先生?3大前十巨星没戏...
想要在NBA联盟得到3万分有多难?从联盟成立至今的70多年中,总得分超过3万分的球员一共只有7位,他们分别是贾巴尔.马龙.詹姆斯.科比.乔丹.诺维茨基和张伯伦,剩下的强如大鲨鱼.艾弗森都没能完成这一壮 ...
- PTA_数据结构与算法_7-7 六度空间 (30分)
"六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:"你和任何一个陌生人之间所间隔 ...
- 7-7 六度空间 (30分) 【最短路径(Floyd)】
题目描述: "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:"你和任何一个陌生 ...
- 7-2 六度空间(30 分)
7-2 六度空间(30 分) "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:" ...
- 05-3. 六度空间 (30)
05-3. 六度空间 (30) 时间限制 1500 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard "六度空间"理论又称作"六度 ...
- 3分和30分文章差距在哪里?
好的分析和可视化,可以提供大量的信息,同时兼顾简洁优雅. 今天我们抛开实验设计.方法和工作量等因素,仅从文章最吸引人的图片来讨论3分和30分(顶级)文章差距在哪里? 以2017年8月25日发表在Sci ...
- 微生物组:3分和30分文章差距在哪里?
好的分析和可视化,可以提供大量的信息,同时兼顾简洁优雅. 今天我们抛开实验设计.方法和工作量等因素,仅从文章最吸引人的图片来讨论3分和30分(顶级)文章差距在哪里? 以2017年8月25日发表在Sci ...
最新文章
- curl进行post请求的demo
- python简单代码input-Python简单程序的练习
- 文本分类入门(番外篇)特征选择与特征权重计算的区别
- 【LeetCode】103# 二叉树的锯齿形层次遍历
- html5表白页面3d,七夕节表白3d相册制作(html5+css3)
- 题解 AT5308 【[ABC156B] Digits】
- C++11新特性——auto和decltype
- ChromeFFOpera下DIV不设置高度显示背景颜色和边框的办法
- Java byte变成无符号整数~~~
- Java引用多个jar包的写法
- FPGA基础入门【16】开发板加速度传感器配置
- UGUI制作Tab标签页
- UG NX 12抽取复合曲线
- Combating Web Spam with TrustRank的实验
- 1080p和1080i
- greenplum segment down 实例
- 线下 Meetup 预告|从原理到实战,详解 Database Plus 的互联网最佳实践
- php后端管,管理后台-后端-PHP篇
- ubuntu 软件安装到中途停止解决方法
- 程序员必备心理学——心流