使用C++找到图中的汇节点的数量

在本文中,我们将描述解决图中汇节点数量的重要信息。在这个问题中,我们有一个有 N 个节点(1 到 N)和 M 个边的有向无环图。目标是找出给定图中有多少个汇节点。汇聚节点是不产生任何传出边的节点。这是一个简单的例子 –

Input : n = 4, m = 2

使用C++找到图中的汇节点的数量

Edges[] = {{2, 3}, {4, 3}}
Output : 2

登录后复制

寻找解决方案的简单方法

在这种方法中,我们将遍历图的边,将边所指向的集合中的不同元素推入其中,然后减去集合的大小存在的节点总数。

示例

#include
using namespace std;
int main(){
int n = 4; // number of nodes.
int m = 2; // number of edges.
vector edges = {{2, 3}, {4, 3}}; // the edges going from first to second.
set s;
for(int i = 0; i < m; i++){
s.insert(edges[i].first); // will keep value of
// distinct node from which edges are going out.
}
cout

发布于 2023-09-02 16:39:56
收藏
分享
海报
0 条评论
124
上一篇:在C++中实现strtok()函数 下一篇:SOLID: 第四部分 – 依赖倒置原则
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码