我等渣渣选择先把图存起来再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;
}