求助
  • 板块灌水区
  • 楼主yyz38
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/8 10:00
  • 上次更新2024/8/8 10:55:21
查看原帖
求助
1122958
yyz38楼主2024/8/8 10:00

B3862 图的遍历(简单版)36分

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1005;
vector<int> graph[MAXN];
int ans[MAXN];
bool visited[MAXN];
void dfs(int v)
{
    visited[v]=true;
    ans[v]=v;
    for(int u:graph[v])
    {
        if(!visited[u])
            dfs(u);
        ans[v]=max(ans[v],ans[u]);
    }
}
int main() 
{
    int N,M;
    cin>>N>>M;
    for(int i=0;i<M;i++) 
	{
        int u,v;
        cin>>u>>v;
        graph[u].push_back(v);
    }
    for(int i=1;i<=N;i++)
        if(!visited[i])
            dfs(i);
    for(int i=1;i<=N;i++)
        cout<<ans[i]<<" ";
    cout<<endl;
    return 0;
}
2024/8/8 10:00
加载中...