打卡信奥刷题(2666)用C++实现信奥题 P2863 [USACO06JAN] The Cow Prom S

P2863 [USACO06JAN] The Cow Prom S

题目描述

有一个nnn个点,mmm条边的有向图,请求出这个图点数大于111的强连通分量个数。

输入格式

第一行为两个整数nnnmmm

第二行至m+1m+1m+1行,每一行有两个整数aaabbb,表示有一条从aaabbb的有向边。

输出格式

仅一行,表示点数大于111的强连通分量个数。

输入输出样例 #1

输入 #1

5 4 2 4 3 5 1 2 4 1

输出 #1

1

说明/提示

数据规模与约定

对于全部的测试点,保证2≤n≤1042\le n \le 10^42n1042≤m≤5×1042\le m\le 5\times 10^42m5×1041≤a,b≤n1 \leq a, b \leq n1a,bn

C++实现

#include<bits/stdc++.h>#definemaxn10001usingnamespacestd;vector<int>G[maxn];stack<int>s;intn,m;intdfn[maxn],used[maxn],vis[maxn],low[maxn],color[maxn],num[maxn],colornum=0,cnt=0,ans=0;voidpaint(intx){s.pop();color[x]=colornum;num[colornum]++;vis[x]=false;}voidtarjan(intx){dfn[x]=low[x]=++cnt;s.push(x);vis[x]=used[x]=true;for(inti=0;i<G[x].size();i++){intq=G[x][i];if(!dfn[q]){tarjan(q);low[x]=min(low[x],low[q]);}elseif(vis[q])low[x]=min(low[x],dfn[q]);}if(low[x]==dfn[x]){colornum++;while(s.top()!=x){intt=s.top();paint(t);}paint(x);}}intmain(){cin>>n>>m;for(inti=1;i<=m;i++){intu,v;cin>>u>>v;G[u].push_back(v);}for(inti=1;i<=n;i++){if(!used[i])tarjan(i);}for(inti=1;i<=colornum;i++){if(num[i]>1)ans++;}cout<<ans;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1135990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DDOIProxy.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

LeetCode 470 用 Rand7() 实现 Rand10()

文章目录摘要描述题解答案题解代码分析第一步&#xff1a;为什么是 (rand7() - 1) * 7 rand7()第二步&#xff1a;为什么只取 [1,40]第三步&#xff1a;为什么不会死循环示例测试及结果时间复杂度空间复杂度总结摘要 LeetCode 470 这道题乍一看像是“随机数题”&#xff0c;但…

CES 2026 | 重大更新:NVIDIA DGX Spark开启“云边端”模式

作者&#xff1a;毛烁算力日益增长的需求与数据搬运效率之间的矛盾&#xff0c;在过去两年尤为尖锐。当开源模型的参数量级迈过 100B&#xff08;千亿&#xff09;门槛&#xff0c; MoE&#xff08;混合专家&#xff09;架构成为主流&#xff0c;数百万开发者和科研人员尴尬地发…

es客户端查询DSL在日志系统中的应用:全面讲解

如何用好ES客户端与DSL&#xff0c;在日志系统中实现高效精准查询 在微服务和云原生架构大行其道的今天&#xff0c;一个中等规模的系统每天产生的日志动辄数GB甚至TB级。传统的“ grep 日志文件”模式早已不堪重负——你不可能登录十几台机器去翻滚动日志&#xff0c;更别提…

WaitMutex -FromMsBuild -architecture=x64”已退出,代码为 6

c 编译时报错&#xff1a;命令“"D:\Program Files\Epic Games\UE_5.6\Engine\Build\BatchFiles\Build.bat" demo_56_cEditor Win64 Development -Project"D:\projcect\ue_3d\demo_56_c\demo_56_c.uproject" -WaitMutex -FromMsBuild -architecturex64”已…

通俗解释nmodbus4在自动化产线中的角色

一条产线的“翻译官”&#xff1a;nmodbus4如何让上位机听懂PLC的语言 在一家智能制造工厂的中央控制室里&#xff0c;工程师小李正盯着大屏上跳动的数据流——温度、压力、电机转速……这些来自几十台设备的信息&#xff0c;最终都汇聚到他开发的一套.NET工控软件中。而连接这…

工业现场声音报警实现:有源蜂鸣器和无源区分手把手教程

工业现场声音报警实现&#xff1a;有源蜂鸣器和无源区分手把手教程从一个“不响的蜂鸣器”说起上周&#xff0c;一位做PLC扩展模块的工程师在群里发问&#xff1a;“我板子上的蜂鸣器怎么就是不响&#xff1f;电压测了有&#xff0c;IO也翻转了&#xff0c;代码没问题……”很快…

Gmail新增Gemini驱动AI功能,智能优先级和摘要来袭

谷歌公司正在对Gmail进行全面改革&#xff0c;将Gemini驱动的人工智能功能深度整合到其旗舰邮件服务中&#xff0c;力图将其转变为"个人、主动的收件箱助手"。今日推出的这些更新代表着谷歌迄今为止最积极推动AI自动化常态化的举措之一&#xff0c;可能会升级与微软公…

【Zabbix 多渠道报警全攻略(附图文教程):钉钉 / 企微 / 飞书 / 邮箱配置,含前置环境搭建(监控项、触发器、脚本与动作创建)、完整配置流程(脚本添加、媒介创建、关联授权)与功能测试】

提示&#xff1a;本文原创作品&#xff0c;良心制作&#xff0c;干货为主&#xff0c;简洁清晰&#xff0c;一看就会 Zabbix钉钉/企微/飞书/邮箱报警一、前置环境1.1 实验环境介绍1.2 创建监控项1.3 创建触发器1.4 创建脚本1.5 创建动作1.6 测试nginx能否重启二、钉钉报警2.1 创…

逻辑回归中的条件概率

这个式子 读作&#xff1a;“在已知 x 的条件下&#xff0c;y1 的概率”。 1) 每个符号分别是什么意思&#xff1f; y&#xff1a;要预测的“标签/结果”。 在二分类里通常 y∈{0,1}。 例&#xff1a;垃圾邮件 y1&#xff0c;正常邮件 y0。 x&#xff1a;输入特征&#xff08;…

从零实现:搭建ARM64蓝屏调试环境并进行WinDbg分析

手把手搭建ARM64蓝屏调试环境&#xff1a;从零开始用WinDbg定位系统崩溃你有没有遇到过这样的场景&#xff1f;一台搭载骁龙处理器的Windows on ARM笔记本突然蓝屏&#xff0c;重启后只留下一个MEMORY.DMP文件&#xff0c;而你面对这个“黑盒”毫无头绪。更糟的是&#xff0c;网…

DevicePairingFolder.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

研究发现商业AI模型可完整还原《哈利·波特》原著内容

机器学习模型&#xff0c;特别是商业模型&#xff0c;通常不会公开开发者用于训练的数据集。然而&#xff0c;模型包含哪些内容以及这些材料是否能通过特定提示被提取出来&#xff0c;仍然是具有经济和法律后果的重要问题&#xff0c;更不用说伦理和隐私方面的考量。 Anthropic…

DDACLSys.dll文件丢失找不到问题 免费下载分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

Pspice在OrCAD Capture中的仿真探针使用深入解析

Pspice仿真探针实战指南&#xff1a;如何在OrCAD Capture中精准捕获电路行为你有没有遇到过这样的场景&#xff1f;花了半小时搭好一个Buck电路&#xff0c;信心满满地跑完瞬态仿真&#xff0c;结果打开波形一看——关键节点没监控、电流纹波看不见、效率曲线还得手动算。更糟的…

ddodiag.exe文件丢失找不到问题 免费下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

从零实现AUTOSAR NM报文唤醒的软件配置

AUTOSAR NM报文唤醒&#xff1a;从配置到落地的完整实践指南你有没有遇到过这样的场景&#xff1f;整车钥匙未插入&#xff0c;但某个车门模块却频繁“醒来”&#xff0c;继而耗尽蓄电池&#xff1b;或者遥控解锁时响应迟钝&#xff0c;排查半天才发现是网络管理状态没对齐。这…

UVC协议实现高清视频传输:项目应用详解

UVC协议如何让高清视频“即插即用”&#xff1f;一个嵌入式工程师的实战笔记你有没有遇到过这样的场景&#xff1a;花了几千块买的专业摄像头&#xff0c;插上电脑却还要装一堆驱动&#xff1b;或者在Linux板子上调了三天图像采集程序&#xff0c;结果换到Windows又得重来一遍&…

dll一键修复工具 dll运行库修复工具下载

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

Razer在2026年CES展会推出全息AI伴侣项目

去年Razer展示了Project Ava数字助手&#xff0c;它生活在你的电脑中帮助调整设置或提供游戏建议。但现在在2026年CES展会上&#xff0c;该公司的AI伴侣平台获得了重大升级&#xff0c;同时搬入了新的"住所"。现在&#xff0c;Project Ava不再完全局限于你的PC屏幕&a…