ccf-csp201709-4通信网络,c++,80分

CCF计算机软件能力认证试题练习:201709-4 通信网络 通信网络 来源: 标签: 参考资料: 相似题目: 题目 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。 由... 阅读详情
查看原题:通信网络
题目描述:

某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。
  由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递信息时,他们才彼此知道对方的存在。部门之间不会把自己知道哪些部门告诉其他部门。
  上图中给了一个4个部门的例子,图中的单向边表示通路。部门1可以将消息发送给所有部门,部门4可以接收所有部门的消息,所以部门1和部门4知道所有其他部门的存在。部门2和部门3之间没有任何方式可以发送消息,所以部门2和部门3互相不知道彼此的存在。
  现在请问,有多少个部门知道所有N个部门的存在。或者说,有多少个部门所知道的部门数量(包括自己)正好是N。
输入格式
  输入的第一行包含两个整数N, M,分别表示部门的数量和单向通路的数量。所有部门从1到N标号。
  接下来M行,每行两个整数a, b,表示部门a到部门b有一条单向通路。
输出格式
  输出一行,包含一个整数,表示答案。
  在这里插入图片描述
样例输入
4 4
1 2
1 3
2 4
3 4
样例输出
2
样例说明
  部门1和部门4知道所有其他部门的存在。
评测用例规模与约定
  对于30%的评测用例,1 ≤ N ≤ 10,1 ≤ M ≤ 20;
  对于60%的评测用例,1 ≤ N ≤ 100,1 ≤ M ≤ 1000;
  对于100%的评测用例,1 ≤ N ≤ 1000,1 ≤ M ≤ 10000;

题目分析:

本题测试用数据量少,1 ≤ N ≤ 1000,1 ≤ M ≤ 10000,可每个节点直接用DFS遍历整个图,最后看访问次数最多的点的个数即可。
但不知道为什么只有80分。

代码:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct treeNode
{
    int serialNum;
    vector<int> out;
    vector<int> in;
    int num;
    int flag;
    bool operator <(treeNode node1)
    {
        return num>node1.num ? 1:0;
    }
};
int main()
{
    int N,M,a,b,answer=0,flag=0;
    cin>>N>>M;
    vector<treeNode> myTree(N);
    vector<treeNode> myTreeTemp;
    vector<int> myStack;
    treeNode temp;
    for(int count1=0;count1<M;count1++)
    {
        scanf("%d %d",&a,&b);
        myTree.at(a-1).serialNum=a-1;
        myTree.at(a-1).num=0;
        myTree.at(a-1).out.push_back(b-1);
        myTree.at(b-1).serialNum=b-1;
        myTree.at(b-1).num=0;
    }
    for(int count1=0;count1<N;count1++)
    {
        myStack.push_back(count1);
        myTreeTemp=myTree;
        while(myStack.size())
        {
            temp=myTree[*(myStack.end()-1)];
            myTree[*(myStack.end()-1)].num++;
            myTree[count1].num++;
            myStack.pop_back();
            for(int count2=0;count2<temp.out.size();count2++)
                if(myTreeTemp[temp.out[count2]].flag!=2)
                {
                    myStack.push_back(temp.out[count2]);
                    myTreeTemp[temp.out[count2]].flag=2;
                }
        }
    }
    sort(myTree.begin(),myTree.end());
    temp=myTree[0];
    int max;
    max=temp.num;
    while(temp.num==max)
    {
        answer++;
        temp=myTree[answer];
    }
    cout<<answer;
    return 0;
}
2017-9CCF第四题报告(数据结构).pdf 用图的ADT解决2017年9月份CCF真题的第四题,文档为该题的实验报告,包括解题思路,解题过程,以及思考总结等部分 立即下载

相关推荐

风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真

内容概要:本文介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,聚焦于隔离型全桥LLC谐振变换器的建模、仿真与参数设计,涵盖其在电力电子系统中的关键应用,如软启动、闭环控制、变频控制及效率优化等。该模型支持对LLC变换器在不同工作模式下的动态响应与性能表现进行深入研究,适用于探究谐振拓扑结构、磁性元件设计、谐振参数匹配以及先进控制策略的科研与工程实践。同时,文档配套提供了仿真模型、设计报告与计算书等完整资料,强化了其实用性与教学价值。; 适合人群:具备电力电子、自动化或电气工程等相关专业背景,从事电力电子变换器研发、系统仿真与控制算法设计的科研人员、工程师及研究生。; 使用场景及目标:①用于全桥LLC谐振变换器的建模、仿真与动态性能分析;②支持对软启动过程、闭环稳压控制、变频调谐及效率优化等核心技术的研究与教学;③为电力电子电源系统的工程设计、参数优化与控制策略验证提供高精度仿真平台。; 阅读建议:建议结合Plecs或Simulink等仿真工具进行动手实践,重点理解电路拓扑构建、谐振参数计算、控制器设计与系统稳定性分析,并配合文档中的设计报告与计算书,系统掌握从理论到仿真的完整流程。

通信网络(有向图邻接表的数组实现)

题目描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。 信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。 一条信息可能通过多次中转最终到达目的地。 由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。 只有当两个部门之间可以直接或间接传递信息时,他们才彼此知道对方的存在。 部门之间不会把自己知道哪些部门告...

PingBryant的博客 707

大模型-高通qnn基础

提供较低级别、高度可定制的统一API,通过单独的库加速所有AI加速器核心上的AI模型, 可以直接用于针对特定的加速器核心或从流行的运行时(包括Qualcomm Neural Processing SDK、TensorFlow Lite和ONNX运行时)委派工作负载。一个支持异构计算、系统级配置的一体化SDK,旨在将AI工作负载引导到我们平台上的所有加速器核心。为开发人员提供灵活性,包括核心间协作支持和其他高级功能。是一个为训练好的神经网络模型提供高级量化和压缩技术的库。

点滴的岁月 4093

ccf 201709-4 通信网络 (100分)

问题描述   某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。   由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或...

jinduo16的博客 746

WGCNA分析中那些没人告诉你的坑:以肺结核差异基因模块筛选为例

本文深入探讨WGCNA分析在肺结核差异基因模块筛选中的七个关键陷阱,包括soft-thresholding选取、样本离群值检测、模块合并阈值调整等。通过实际案例和R代码示例,揭示生信数据挖掘中常被忽视的技术细节,帮助研究者避免常见错误,提升分析结果的可靠性和生物学意义。

weixin_29218509的博客 261

保姆级教程:用Ubuntu 22.04搭建RustDesk中继服务器(含Cloudflare避坑指南)

本教程详细指导如何在Ubuntu 22.04上搭建RustDesk中继服务器,解决跨国远程协作的延迟问题。涵盖环境配置、Rust编译优化、服务部署及Cloudflare代理设置等关键步骤,帮助用户实现高性能的私有中继服务。

weixin_29002209的博客 527

带权并查集求最环

/* 把每个同学看成一个点,信息的传递就是在他们之间连有向边,游戏轮数就是求最小环。 图论求最小环,我在里面看到了并查集。 假如说信息由A传递给B,那么就连一条由A指向B的边,同时更新A的父节点,A到它的父节点的路径长也就是B到它的父节点的路径长+1。 这样我们就建立好了一个图,之后信息传递的所有环节都按照这些路径。游戏结束的轮数,也就是这个图里最小环的长度。 如果有两个点祖先节点相同...

Cruiying的博客 635

信道估计准则演进:从LS、MMSE到LMMSE的工程权衡

本文深入探讨了信道估计准则的演进历程,从LS、MMSE到LMMSE的工程权衡。通过对比分析三大经典算法的数学本质、工程实现及适用场景,揭示了在计算复杂度、实时性和性能之间的关键取舍。文章结合4G/5G基站项目实战经验,提供了算法选型的三维决策模型和前沿发展建议,为无线通信系统设计提供实用指导。

weixin_29327525的博客 284

实验6 图的应用

实验六 图的应用 [问题描述] ​ 应用图的ADT的物理实现来解决图的应用问题。   某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。   由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递信息时,他们才彼此知道对方的存在。部

qq_45755193的博客 769

超强干货之---Python-数据爬取(爬虫)

定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。

房东的猫的博客 5万+

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet,在计算机视觉领域,卷积神经网络(Convolutional Neural Network,CNN)已然成为推动众多任务发展的核心力量。从早期简单的图像识别,到如今复杂的目标检测、语义分割、图像生成等任务,CNN 都展现出了卓越的性能。CNN 的发展历程见证了一系列经典模型的诞生,其中 LeNet 作为开山之作,为 CNN 的发展奠定了基础,而 ResNet 则通过创新性的设计,突破了传统神经网络的限制,使得网络能够构建得更深、性能更优。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

ccf 201709-4 通信网络 BFS遍历

问题描述

青铜时代 573

YOLO26涨点改进 | Conv篇/小目标改进 | AAAI 2025 FBRT-YOLO 两个轻量级FCM和MKP模块, 助力无人机航拍任务VisDrone、UAVDT和AI-TOD高效涨点

本文提出FBRT-YOLO26模型,通过引入两个轻量级模块FCM和MKP优化航拍图像检测性能。FCM模块通过特征互补映射解决小目标信息丢失问题,MKP模块利用多尺度卷积核增强目标感知能力。在VisDrone等数据集上的实验表明,该方法在精度和速度上均优于现有实时检测器。文章详细介绍了模块结构、核心代码实现及YAML配置文件修改方法,为航拍图像中的小目标检测提供了高效解决方案。该模型实现了检测精度与效率的良好平衡,具有实际应用价值。

Ai缝合怪、助力小伙伴高效发论文 369

通信网络(图的应用)

写在前面:仅为个人代码/总结,未必标准,仅供参考!如有错误,还望指出交流,共同进步! 通信网络 【问题描述】(CSP原题) 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。 由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递.

LG.田猿的博客 481

华为MetaERP在财务模块(GL/AP/AR/FA)及子账模块效率优化、月末关账加速、与外部系统对账方面,已形成一套**“并行+实时+智能化”**的完整技术方案

华为MetaERP推出"并行+实时+智能化"技术方案,显著提升财务模块效率:1)采用三级并行策略和内存计算,使子账模块单任务处理时间从142分钟降至9分钟;2)通过并行关账架构将月末关账时间从68小时压缩至7.2小时;3)运用AI智能对账提升效率50%,并支持异步流程和区块链审计。典型场景测试显示月结耗时下降89%,CPU利用率提升116%。方案建议分阶段实施,注意依赖分析、任务粒度设计和性能监控,避免过度并行。该方案已有效解决大型集团财务处理效率低、关账慢、对账难等痛点。

金牌架构师 559

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

CCF 2017 真题 持续更新ing

分蛋糕 描述 问题描述   小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k...

BeforeEasy的博客 1272

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CCF CSP—— 通信网络(201709-4)

问题描述   某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。   由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传...

qq_44408319的博客 541

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

CCP-CSP认证考试 201709-4 通信网络 c/c++题解

CCF-CSP认证考试题解目录By东瓜lqd 题目描述: 试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传...

东瓜blog 1356

CCF-GESP8级考试—(C++)图论算法及综合应用(最小生成树)

最小生成树就是将 n 个顶点, n - 1 条边,通过一个连接起来,且使权值最小的一种结构。 换句话来说,就是给定一个无向图,在图中选择若干条边把图中的所有节点连接起来,要求边长之和最小。 在图论中,叫做求最小生成树。主要的应用:比如要在 n 个城市之间铺设光缆,使得这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,所以我们的目标要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。

向往有那么一天梦幻的步态识别落地,开花❀! 1658

数据结构实验六

1.【问题描述】 应用图的ADT的物理实现来解决图的应用问题。 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。   由于保密工作做得很好,并不是所有部门之间都互相...

xiao769507610的博客 1326

实验六图的应用(通信网络)

应用图的ADT的物理实现来解决图的应用问题。 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。 由于保密工作做得很好,并不是所有部门之间都互相知道彼此的存在。只有当两个部门之间可以直接或间接传递信息时,他们才彼此知道对方的存在。部门之间不会把自己知道哪些部门告诉其他部门。

海棠的博客 258

java面试题1 牛客:A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:

懵逼树上懵逼果,懵逼树下你和我 第一题 [单选题] A派生出子类B,B派生出子类C,并且在java源代码中有如下声明: 1 2 3 A a0=new A(); A a1=new B(); A a2=new C(); 以哪个说法是正确的 A第1行,第2行和第3行的声明都是正确的 B第1,2,3行都能通...

歌谣的博客 2万+

CCF-CSP 通信网络 JAVA 201709-4 100分

思路: 我不知道标准解法是怎么样的,反正我为我“禁忌的解法”解得100分感到很开心=。= 首先使用list,制作好图的邻接表。 一个是 1→2→3 2→4 3→4 4 一个是 1 2→1 3→1 4→2→3 为什么要分两个邻接表呢,因为一个邻接表不能正确的表示我们要的结果。(自己体悟吧。。。  表1确定发送信号方有哪些全知,表2确定接受信号方有哪些全知) 接下来我们做一

董公子的博客 2955

图知识小结6-DFS应用【CCF201709-4通信网络】

#include &lt;bits/stdc++.h&gt; using namespace std; const int MAX_EDGE = 10005; const int MAX_VERTICES = 1005; int conn[MAX_VERTICES][MAX_VERTICES]; //记录两个点之间的连通性质 struct Edge{ int v, last; } edge[...

... 526

CCF通信网络(水题)

第一反应是用Flody把初始距离为inf,然后右边可达为1 到最后判断每个顶点与其他顶点是不是都可达,如果可达number++; 但是超时了60分 = = 后来发现直接裸个dfs把图遍历一下就直接过了  真尴尬= = 可恶! 60: #include&lt;iostream&gt; #include&lt;cstdio&gt; using namespace std; const i...

qq_40458569的博客 2065
上一篇: 2019数学建模国赛小记
下一篇: c++ vector的使用,sort,find,易错点
爱安敝之
博客等级 码龄8年 64粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值