看看bug出在哪
查看原帖
看看bug出在哪
1401899
aikepudelizhi楼主2024/8/3 16:39

看看bug出在哪

#include<iostream>
using namespace std;
int a[10000],b[10000],n,m;
bool c[10000]={false};
int ans=0;
int Max(int d[],int ans){
	int x;
	for(int i=1;i<ans;i++){
		x=max(d[i],d[i-1]);
	}
	return x;
}
void dfs(int k,int d[],int ans){
    if(c[k]==true){
        return ;
    }
    c[k]=true;
    d[ans]=k;
    ans+=1;
    for(int i=0;i<m;i++){
        if(a[i]==k&&c[b[i]]==false){
            dfs(b[i],d,ans);
        }
    }
}
int main(){
    cin>>n>>m;
    for(int i=0;i<m;i++){
        cin>>a[i]>>b[i];
    }
    for(int i=0;i<n;i++){
        int ans=0;
        int d[10000]={0};
        dfs(i,d,ans);
        cout<<Max(d,ans)<<" ";
    }
    return 0;
}
2024/8/3 16:39
加载中...