news 2026/4/16 15:36:29

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(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考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:12:47

牛批了,AI办公神器,值得收藏

今天给大家推荐一款厉害的office AI助手&#xff0c;这是一款智能AI的办公软件&#xff0c;专门为office和WPS量身定做&#xff0c;有需要的小伙伴一定要下载收藏一下。 Office AI 助手 兼容officee和WPS 软件很小巧&#xff0c;大小只有不到30M&#xff0c;双击之后安装完成就…

作者头像 李华
网站建设 2026/4/16 9:03:40

基于门电路的一位全加器构建:深度剖析流程

从零构建一位全加器&#xff1a;门电路背后的算术逻辑你有没有想过&#xff0c;计算机到底是怎么“做加法”的&#xff1f;在我们敲下一行代码、打开一个应用、甚至只是按下计算器上的“”键时&#xff0c;背后都有一连串微小而精确的电子信号在默默工作。而这一切的起点&#…

作者头像 李华
网站建设 2026/4/16 13:52:24

数电实验3【译码器设计实验报告】数字电路 逻辑与计算机设计 logisim

目录 实验资源下载 实验报告 一、实验目的 二、实验环境 三、实验内容 四、实验步骤 五&#xff0c; 实验中遇到的问题 六&#xff0c; 心得 实验资源下载 点击下载 实验报告 一、实验目的 理解译码器的原理&#xff0c;使用logisim设计实现38译码器 二、实验环境…

作者头像 李华
网站建设 2026/4/16 10:40:19

英语单词转语音 读一遍 读两遍 中间要有停顿

如果你有一些英文单词&#xff0c;你想把它们转化成语音。然后读出来&#xff0c;有时候读一遍。有时候读两遍&#xff0c;而且每读一个单词&#xff0c;中间还要停顿几秒。你怎么办呢&#xff1f;你可以这样做&#xff0c;下面就来演示一下。把你的英文单词准备好。要去掉音标…

作者头像 李华
网站建设 2026/4/16 7:47:28

零基础小白指南:轻松搞定Intel HAXM配置

零基础也能搞定&#xff1a;彻底解决 Android 模拟器卡顿问题&#xff0c;让 AVD 飞起来&#xff01; 你是不是也遇到过这种情况&#xff1f;兴冲冲打开 Android Studio&#xff0c;新建一个 AVD&#xff08;Android Virtual Device&#xff09;&#xff0c;点击运行——结果弹…

作者头像 李华
网站建设 2026/4/16 11:04:57

力扣hot100:每日温度

题目描述&#xff1a;思路分析&#xff08;单调栈&#xff09;这道题最优解是使用单调栈&#xff08;Monotonic Stack&#xff09;。核心思想&#xff1a;我们从左到右遍历每一天。用一个栈来维护一个从栈底到栈顶温度严格递减的索引序列&#xff08;即栈中保存的是还没有找到更…

作者头像 李华