水题爆0求助
查看原帖
水题爆0求助
947202
wangruize88楼主2025/1/16 17:34
#include <iostream>
using namespace std ;
bool a[1001][1001] , flag[1001] ;
int n , m , x , y , maxn ;
void dfs ( int s ) {
	flag[s] = 1 ;
	if ( s > maxn ) maxn = s ;
	for ( int i = s ; i <= n ; i ++ ) {
		if ( a[s][i] && flag[i] != 1 ) dfs(i) ;
	}
}
int main () {
	cin >> n >> m ;
	for ( int i = 1 ; i <= m ; i ++ ) {
		cin >> x >> y ;
		a[x][y] = true ;
	}
	for ( int i = 1 ; i <= n ; i ++ ) {
		memset ( flag , 0 , sizeof flag ) ;
		maxn = 0 ;
		dfs(i) ;
		cout << maxn << ' ' ;
	}
	return 0 ;
}
2025/1/16 17:34
加载中...