我等渣渣选择先把图存起来再DFS查深度 #include <iostream> using namespace std; int a[10005][10005]={0}; int b[10005]={0}; int len=0; int n=0; int deep=0; int func(int k) {     for(int i=0;i<10005;i++)     {         if(a[k][i]==1 && b[i]==0){             b[i]=1;             len++;             func(i);             if(len>deep)                 deep=len;             len--;         }     }     return 0; } int main() {     int start,end;     cin>>n;     for(int i=0;i<n-1;i++)     {         cin>>start>>end;         a[start][end]=1;     }     b[1]=1;     func(1);     cout<<(n-1)*2-deep; }
点赞 3

相关推荐

2025-12-11 14:53
湘潭大学 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务