提高:图论:强连通分量 图的遍历

时间限制 : 1 秒

内存限制 : 128 MB

给出 NN 个点,MM 条边的有向图,对于每个点 vv,求 A(v)A(v) 表示从点 vv 出发,能到达的编号最大的点。

输入

第 11 行 22 个整数 N,MN,M,表示点数和边数。

接下来 MM 行,每行 22 个整数 Ui,ViUi​,Vi​,表示边 (Ui,Vi)(Ui​,Vi​)。点用 1,2,...,N1,2,...,N 编号。

输出

一行 NN 个整数 A(1),A(2),...,A(N)A(1),A(2),...,A(N)。

样例
输入
复制代码
4 3
1 2
2 4
4 3
输出
复制代码
4 4 3 4
提示
  • 对于 60%60% 的数据,1≤N,M≤1031≤N,M≤103。
  • 对于 100%100% 的数据,1≤N,M≤1051≤N,M≤105。

---------------------------------------------------------------------------------------------------------------------------------代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+2;
int n,m,v[N];
vector<int>g[N];
void dfs(int x,int y)
{
	if(v[x]!=0) return;
	v[x]=y;
	for(int i=0;i<g[x].size();i++) dfs(g[x][i],y); 
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int a,b;
		cin>>a>>b;
		g[b].push_back(a);
	}
	for(int i=n;i>=1;i--)
	{
		dfs(i,i);
	}
	for(int i=1;i<=n;i++) cout<<v[i]<<" ";
	return 0;
}
相关推荐
bkspiderx14 分钟前
C++设计模式之行为型模式:状态模式(State)
c++·设计模式·状态模式
Voyager_427 分钟前
图像处理踩坑:浮点数误差导致的缩放尺寸异常与解决办法
数据结构·图像处理·人工智能·python·算法
会开花的二叉树32 分钟前
分布式文件存储 RPC 服务实现
c++·分布式·网络协议·rpc
文艺倾年33 分钟前
【八股消消乐】手撕分布式协议和算法(基础篇)
分布式·算法
abcd_zjq1 小时前
VS2026+QT6.9+opencv图像增强(多帧平均降噪)(CLAHE对比度增强)(边缘增强)(图像超分辨率)
c++·图像处理·qt·opencv·visual studio
万岳科技系统开发1 小时前
从源码优化外卖配送系统:算法调度、智能推荐与数据分析应用
算法·数据挖掘·数据分析
Algebraaaaa2 小时前
Qt中的字符串宏 | 编译期检查和运行期检查 | Qt信号与槽connect写法
开发语言·c++·qt
信奥卷王4 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
兮山与4 小时前
算法4.0
算法
nju_spy4 小时前
力扣每日一题(二)任务安排问题 + 区间变换问题 + 排列组合数学推式子
算法·leetcode·二分查找·贪心·排列组合·容斥原理·最大堆