首页 > 其他分享 >7-20 六度空间

7-20 六度空间

时间:2024-12-04 10:29:00浏览次数:6  
标签:10 结点 六度 20 100.00% int edge 空间

7-20 六度空间

分数 10

全屏浏览

切换布局

作者 DS课程组

单位 浙江大学

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


图1 六度空间示意图

“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能够体现社交网络关系的一手数据已经逐渐使得“六度空间”理论的验证成为可能。

假如给你一个社交网络图,请你对每个节点计算符合“六度空间”理论的结点占结点总数的百分比。

输入格式:

输入第1行给出两个正整数,分别表示社交网络图的结点数N(1<N≤103,表示人数)、边数M(≤33×N,表示社交关系数)。随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个结点的编号(节点从1到N编号)。

输出格式:

对每个结点输出与该结点距离不超过6的结点数占结点总数的百分比,精确到小数点后2位。每个结节点输出一行,格式为“结点编号:(空格)百分比%”。

输入样例:

10 9
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10

输出样例:

1: 70.00%
2: 80.00%
3: 90.00%
4: 100.00%
5: 100.00%
6: 100.00%
7: 100.00%
8: 90.00%
9: 80.00%
10: 70.00%

代码长度限制

16 KB

时间限制

2500 ms

内存限制

64 MB

栈限制

8192 KB

#include <stdio.h>
#define MAX 32767

int n, m;

int main()
{
    scanf("%d %d", &n, &m);
    int edge[n + 1][n + 1];
    for (int i = 0; i < n + 1; i++)
    {
        for (int j = 0; j < n + 1; ++j)
        {
            edge[i][j] = MAX;
            if (i == j)
                edge[i][j] = 0;
        }
    }
    for (int i = 0; i < m; ++i)
    {
        int x, y;
        scanf("%d %d", &x, &y);
        edge[x][y] = 1;
        edge[y][x] = 1;
    }
    for (int k = 1; k <= n; ++k)
    {
        for (int i = 1; i <= n; ++i)
        {
            for (int j = 1; j <= n; ++j)
            {
                if (edge[i][j] > edge[i][k] + edge[k][j])
                {
                    edge[i][j] = edge[i][k] + edge[k][j];
                }
            }
        }
    }
    for (int j = 1; j <= n; ++j)
    {
        int cnt = 1;
        for (int i = 1; i <= n; ++i)
        {
            if (edge[i][j] <= 6 && i != j)
                cnt++;
        }
        printf("%d: %.2f%%\n", j, 1.0 * cnt * 100 / n);
    }
}

标签:10,结点,六度,20,100.00%,int,edge,空间
From: https://blog.csdn.net/2401_85947543/article/details/144225543

相关文章

  • 用fpc trunk(3.3.1) 编译TMS FNC控件时出现INTERNAL 20231102
    由于fpc trunk一直在增强及调整,用不同时间段的fpc都可能存在兼容问题,如这次用fpctrunk(3.3.1)编译TMSFNC控件时出现Internal20231102,之前的能通过编译的。用最新的fpc编译LCLTMSFNCCorePkg.lpk时出现以下错误: 在fpc源码发现以下一段文字:如果使用泛型等复杂的情况下,locals......
  • zabbix SQL注入漏洞复现(CVE-2024-42327)
    0x01产品描述:         Zabbix是一个开源的、企业级的分布式监控解决方案,用于监控各种IT资源,包括服务器、网络设备、应用程序和服务。它提供实时监控、数据收集、可视化、警报和报告功能,帮助用户全面了解其IT基础架构的运行状况。0x02漏洞描述:       ......
  • Sitecore CMS 未经身份验证任意文件读取漏洞复现(CVE-2024-46938)
    0x01产品描述:        SitecoreExperiencePlatform™(XP)是一款基于.NETWebForm技术构建的内容管理系统,可以将客户数据、分析、人工智能与营销自动化功能相结合,在任何渠道上实时提供个性化的内容,从而在客户旅程中与客户建立良好的关系。0x02漏洞描述:     ......
  • 【2024寒假全新】渗透测试工具大全(超详细),收藏这一篇就够了!
     黑客/网安大礼包:......
  • 【题解】CF2047
    A显然每次完整地放完都是一个正方形,正方形的边长每次+2,初始值为1所以只需要check每天的块数是否是奇数的平方,然后再做前缀和即可B显然字母出现顺序不重要而出现次数重要,直接放桶并不考虑出现次数为0的数考虑多重集意义下的排列,设序列总长度为\(n\),第\(i\)钟数出......
  • 1203-同构字符串
    同构字符串leetcode205题目大意:给定两个字符串,判断是否为同构的字符串,字符间的对应关系一样,例如paper于title解题思路:使用两个hashmap分别做映射,当新字符在两个map中出现了key但是value不是对应的那个字符的话,就返回false,否则返回trueclassSolution{publicboolean......
  • 20222428 2021-2022-2 《网络与系统攻防技术》实验七实验报告
    1.实验内容1.1本周学习内容回顾了解了Web技术的基本概念,前端主要负责用户界面和交互逻辑,是用户直接可以看到的部分;后端则负责服务器端的逻辑处理、数据存储以及与数据库的交互。前端常用语言:HTML用于定义网页的结构和内容;CSS用于设置网页的样式和布局,使网页更加美观;JavaScri......
  • 2024.12.3
    //计算每个人的平均成绩JavaPairRDD<String,Double>averages=scores.join(counts).mapValues(newFunction<Tuple2<Integer,Integer>,Double>(){@OverridepublicDoublecall(Tuple2<Integer,Integer>tuple){return(double)tu......
  • 题解:P11362 [NOIP2024] 遗失的赋值
    这里写一个我在考场上差点想出来的、比较另类的做法。若\(\existsc_i=c_j(i\nej),d_i\ned_j\),则答案显然为\(0\)。否则,我们可以将序列\(x\)中的数分为已确定和未确定两类。设\(f_0(i)\)为当\(x_i\)未确定时前\(i-1\)个二元限制的方案数,\(f_1(i)\)为当\(x_i\)确......
  • 河南工大2024新生周赛(6)——命题人:魏方
    本次比赛难度:easy:A,Bmedium:D,E,Fmediumhard:Hhard:CGA:光本题为签到题,只需输出一行"宏观困难但局部有光!"即可,不再提供题解。 B:天杀的二进制本题也算是签到题,就是将2的n次方进行相加,简单的循环遍历读取字符即可。注意要处理换行符。在多组输入输出中,可以构造solve......