为啥我这不对,求助大佬!

P3884 [JLOI2009] 二叉树问题

```cpp #include<bits/stdc++.h> using namespace std; int a[105][105],b[1000000]; int main(){ int n,p,q; cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i!=j)a[i][j]=10000000; for(int i=1;i<n;i++){ cin>>p>>q; a[p][q]=1; a[q][p]=2; } int ans=0,sum=0; for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) if(a[i][k]+a[k][j]<a[i][j]) a[i][j]=a[i][k]+a[k][j]; } } for(int j=1;j<=n;j++) if(a[1][j]&&a[1][j]!=10000000){ans=max(ans,a[1][j]); b[a[1][j]]++; } for(int i=0;i<=ans;i++) sum=max(sum,b[i]); int l,h; cin>>l>>h; cout<<ans+1<<endl<<sum<<endl<<a[l][h]; return 0; } ``` 已AC
by acmwriter @ 2023-07-26 17:36:04


|