pat05-图3. 六度空间 (30)
05-图3. 六度空间 (30)
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图6.4所示。

图6.4 六度空间示意图
“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能够体现社交网络关系的一手数据已经逐渐使得“六度空间”理论的验证成为可能。
假如给你一个社交网络图,请你对每个节点计算符合“六度空间”理论的结点占结点总数的百分比。
输入格式说明:
输入第1行给出两个正整数,分别表示社交网络图的结点数N (1<N<=104,表示人数)、边数M(<=33*N,表示社交关系数)。随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个结点的编号(节点从1到N编号)。
输出格式说明:
对每个结点输出与该结点距离不超过6的结点数占结点总数的百分比,精确到小数点后2位。每个结节点输出一行,格式为“结点编号:(空格)百分比%”。
样例输入与输出:
| 序号 | 输入 | 输出 |
| 1 |
10 9 |
1: 70.00% |
| 2 |
10 8 |
1: 70.00% |
| 3 |
11 10 |
1: 100.00% |
| 4 |
2 1 |
1: 100.00% |
这里需要注意:
1.printf中百分号的输出。
2.比较运行结果。当使用new时,例如bool *vis=new bool[5],sizeof(vis)==1!!而不是5;但是如果是数组bool vis[5],sizeof(vis)==5!!
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
bool vis=new bool[];
cout<<sizeof(vis)<<endl;//ans:1
bool v[];
cout<<sizeof(v)<<endl;//ans:5
char c[];
cout<<sizeof(c)<<endl;//ans:5
int t[];
cout<<sizeof(t)<<endl;//ans:20
return ;
}
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
#include<vector>
#include<map>
#include<cmath>
#include<string>
using namespace std;
struct node
{
int v;
node *next;
node()
{
next=NULL;
}
};
bool vis[];
int main()
{
//freopen("D:\\INPUT.txt","r",stdin);
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
node *h=new node[n+];
int i,a,b;
node *p;
for(i=; i<m; i++)
{
scanf("%d %d",&a,&b);
p=new node();
p->v=b;
p->next=h[a].next;
h[a].next=p;
p=new node();
p->v=a;
p->next=h[b].next;
h[b].next=p;
}
for(i=; i<=n; i++)
{
memset(vis,false,sizeof(vis));
queue<int> q;
q.push(i);
vis[i]=true;
int level=,last=i,tail,cur,count=;
while(!q.empty())
{
cur=q.front();
q.pop();
p=h[cur].next;
while(p)
{
if(!vis[p->v])
{
q.push(p->v);
vis[p->v]=true;
count++;
tail=p->v;
}
p=p->next;
}
if(cur==last)
{
level++;
last=tail;
}
if(level==) break;
}
printf("%d: %.2lf%%\n",i,1.0*count*/n);
}
delete []h;
}
return ;
}
pat05-图3. 六度空间 (30)的更多相关文章
- PTA 7-7 六度空间 (30分)
PTA 7-7 六度空间 (30分) "六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:& ...
- PTA 06-图3 六度空间 (30分)
"六度空间"理论又称作"六度分隔(Six Degrees of Separation)"理论.这个理论可以通俗地阐述为:"你和任何一个陌生人之间所间隔 ...
- 用 Python 通过马尔可夫随机场(MRF)与 Ising Model 进行二值图降噪
前言 这个降噪的模型来自 Christopher M. Bishop 的 Pattern Recognition And Machine Learning (就是神书 PRML……),问题是如何对一个 ...
- PTA 7-7 六度空间(广搜)
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论.这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够 ...
- 【PTA 天梯赛训练】六度空间(广搜)
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论.这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够 ...
- Alpha冲刺(7/10)——2019.4.30
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(7/10)--2019.4.30 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
- DS-博客作业06--图
DS-博客作业06--图 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对图结构的认识及学习体会. 本章的图,因为和上一章的树上的比较紧凑,所以在考前一个星期也有看书背代码,也有理解代码和思 ...
- PTA数据结构与算法题目集(中文) 7-7
PTA数据结构与算法题目集(中文) 7-7 7-7 六度空间 (30 分) “六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论.这个理论可以通俗地阐述为 ...
- 《动手实现一个网页加载进度loading》
loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达.最常见的比如"转圈圈" ...
随机推荐
- jQuery的Validate插件
http://www.runoob.com/jquery/jquery-plugin-validate.html 项目中的:: $(function () { $('#createDepartment ...
- Javascript的对象分类
返回索引 按W3CSchool分类 1.JS内置对象 在W3CShool中对应JavaScript对象 参考
- HBase - 伪分布式安装过程
环境 - hadoop - 没有zookeeper(用hbase自带的zookeeper,当然后期我会改用独立的zookeeper) HBase介绍 参考:hbase是什么? hbase下载 地址:h ...
- mysql5.7 Your password does not satisfy the current policy requirements问题解决
安装mysql5.7rpm包,在更改密码的时候,提示错误 这是由于Mysql5.7默认对于密码的要求强度较高,设置的密码过于简单不予通过.要解决这个问题,涉及到的参数有validate_passwor ...
- Atcoder CF 2017 TR I
Atcoder CF 2017 TR I 给定一个有n个点,m条边的图,求为每条边定向,使得从1出发和2出发的两个人可以见面的方案数. 先把问题转换成求all-不能见面的方案数.那么可以把图划分成这样 ...
- django 学习之DRF (三)
Django学习之DRF-03 视图集 1.视图集介绍 2.视图集基本使⽤ 1.需求 使⽤视图集获取列表数据和单⼀数据 2.实现 class BookInfoV ...
- 2019.2.26考试T2 矩阵快速幂加速DP
\(\color{#0066ff}{题解 }\) 可以发现, 数据范围中的n特别小,容易想到状压 可以想到类似于状压DP的思路,按列进行转移 那么应该有3维,\(f[i][j][k]\)代表到第i列, ...
- 「洛谷5017」「NOIP2018」摆渡车【DP,经典好题】
前言 在考场被这个题搞自闭了,那个时候自己是真的太菜了.qwq 现在水平稍微高了一点,就过来切一下这一道\(DP\)经典好题. 附加一个题目链接:[洛谷] 正文 虽然题目非常的简短,但是解法有很多. ...
- [PowerShell] check PowerShell Version
如果你已经开始在日常的工作中大量使用PowerShell自动化重复工作.建议你使用3.0以上的版本. 可以使用如下命令检测你的PS版本 如需要安装PowerShell,可以参看https://tech ...
- maven 过滤webapp下的文件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-p ...