一题求条(站内无)
  • 板块学术版
  • 楼主cgy20140502
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/1/17 19:39
  • 上次更新2025/1/18 01:28:26
查看原帖
一题求条(站内无)
1048914
cgy20140502楼主2025/1/17 19:39

就这个 我的代码:

#include <bits/stdc++.h>
using namespace std;
int n,m,maxa;bool vis[100005];
vector <int> edge[100005];
queue <int> q; 
void dfs(int u){
	maxa = max(maxa,u);
	vis[u] = 1;
	for (int i = 0;i < edge[u].size();i++){
		int v = edge[u][i];
		if (!vis[v]){
			dfs(v);
		}
	}
}
int main(){
	cin >> n >> m;
	int x,y,w;
	while (m--){
		cin >> x >> y >> w;
		edge[x].push_back(y);
	}
	for (int i = 1;i <= n;i++){
		dfs(i);
		memset(vis,0,sizeof(vis));
		cout << maxa << " ";
		maxa = 0;
	}
	return 0;
}
2025/1/17 19:39
加载中...