这么简单的六级题为什么没人做!?

Papyrus在审判你  •  11个月前


#include<bits/stdc++.h>
using namespace std;
int a[110][110];
int visited[110];
int big=0;
void deep(int v){
    if(visited[v]==1){
        return;
    }
    if(v>big){
        big=v;
    }
    visited[v]=1;
    for(int i=0;i<110;i++){
        if(a[v][i]==1&&!visited[i]){
            deep(i);
        }
    }
}
int main(){
    int n,m;
    cin>>n>>m;
    memset(a,0,sizeof(a));
    for(int i=0;i<m;i++){           
        int f,t;
        cin>>f>>t;
        a[f][t]=1;
   }
   memset(visited,0,sizeof(visited));
   big=0;
   deep(1);
   cout<<big<<" ";
   for(int i=2;i<=n;i++){
        big=0;
        memset(visited,0,sizeof(visited));
        deep(i);
        cout<<big<<" ";
   }
   cout<<endl;
   return 0;
}

评论:

请先登录,才能进行评论