Network of Schools(强联通)

2023-10-08 04:32
文章标签 network schools 联通

本文主要是介绍Network of Schools(强联通),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述


思路

n个学校,给出每个学校可以联通的学校
求入度为0的点有多少个,和 入度为0与出度为0较多的一个

代码

#include<stdio.h>
#include<string.h>
#include<stack>
#include<vector>
#include<algorithm>
using namespace std;
#define N 110
vector<int>edge[N];
stack<int>s;
int low[N],dfn[N],vis[N];
int f[N],F[N],num[N]; //入度,出度,所属强联通分量编号
int k=0,l=0;void tarjian(int u)
{low[u]=dfn[u]=++k;s.push(u);vis[u]=1;for(int i=0;i<edge[u].size();i++){int v=edge[u][i];if(!dfn[v]){tarjian(v);low[u]=min(low[u],low[v]);}else if(vis[v])low[u]=min(low[u],dfn[v]);}if(low[u]==dfn[u]){++l;while(1){int x=s.top();s.pop();vis[x]=0;num[x]=l;if(u==x) break;}}return;
}
int main()
{int n,t;scanf("%d",&n);for(int i=1;i<=n;i++)while(~scanf("%d",&t)&&t)edge[i].push_back(t);for(int i=1;i<=n;i++) //莫要忘记!!!if(!dfn[i])tarjian(i);if(l==1){printf("1\n0\n"); //本身就是强联通分量的图,直接输出return 0;}int x=0,y=0,v;for(int i=1;i<=n;i++) //n个节点for(int j=0;j<edge[i].size();j++){v=edge[i][j]; //与第i点相连的第j个点,vif(num[i]!=num[v]) //若i点和P点不在一个分量内,说明i->vf[num[v]]=1; //v点入度为1F[num[i]]=1; //i点出度为1}//l个强联通分量for(int i=1;i<=l;i++){if(f[i]==0)x++;     //找入度为0的点if(F[i]==0)y++;     //出度为0的带你}printf("%d\n%d\n",x,x>y?x:y);return 0;
}

这篇关于Network of Schools(强联通)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/162717

相关文章

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

【造轮子】纯C++实现的联通组件标记算法

学习《OpenCV应用开发:入门、进阶与工程化实践》一书 做真正的OpenCV开发者,从入门到入职,一步到位! 连接组件标记算法 连接组件标记算法(connected component labeling algorithm-CCL)是图像分析中最常用的算法之一,算法的实质是扫描一幅图像的每个像素,对于像素值相同的分为相同的组(group),最终得到图像中所有的像素连通组件。扫描的方式可以是从

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{

F12抓包05:Network接口测试(抓包篡改请求)

课程大纲         使用线上接口测试网站演示操作,浏览器F12检查工具如何进行简单的接口测试:抓包、复制请求、篡改数据、发送新请求。         测试地址:https://httpbin.org/forms/post ① 抓包:鼠标右键打开“检查”工具(F12),tab导航选择“网络”(Network),输入前3项点击提交,可看到录制的请求和返回数据。

OpenSNN推文:神经网络(Neural Network)相关论文最新推荐(九月份)(一)

基于卷积神经网络的活动识别分析系统及应用 论文链接:oalib简介:  活动识别技术在智能家居、运动评估和社交等领域得到广泛应用。本文设计了一种基于卷积神经网络的活动识别分析与应用系统,通过分析基于Android搭建的前端采所集的三向加速度传感器数据,对用户的当前活动进行识别。实验表明活动识别准确率满足了应用需求。本文基于识别的活动进行卡路里消耗计算,根据用户具体的活动、时间以及体重计算出相应活

deepcross network(DCN)算法 xdeepfm是DCN的进阶

揭秘 Deep & Cross : 如何自动构造高阶交叉特征 https://zhuanlan.zhihu.com/p/55234968 Deep & Cross Network总结 Deep和Cross不得不说的秘密 [深度模型] Deep & Cross Network (DCN) https://mp.weixin.qq.com/s/Xp_xTmcx56tJqfjMhFsArA

F12抓包04:(核心功能)Network接口抓包、定位缺陷

课程大纲 一、录制请求 ① tab导航选择“网络”(Network),即可进入网络抓包界面,进入界面默认开启录制模式,显示浏览器当前标签页的请求列表。 ② 查看请求列表,包含了当前标签页执行的所有请求和下载的资源,列表显示每条请求的相应内容。 还可以在字段行单击右键,勾选想要查看的字段。 ③ 单击列表项的“名称”,可以查看请求的详细内容。接口请

DS简记1-Real-time Joint Object Detection and Semantic Segmentation Network for Automated Driving

创新点 1.更小的网络,更多的类别,更复杂的实验 2. 一体化 总结 终于看到一篇检测跟踪一体化的文章 网络结构如下: ResNet10是共享的Encoder,yolov2 是检测的Deconder,FCN8 是分割的Deconder。 其实很简单,论文作者也指出:Our work is closest to the recent MultiNet. We differ by focus