用左子树*2右子树*2+1的性质写
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,a,b;
int fa[205],fb[205];
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a>>b;
fa[b]=a;fb[a]++;
}
int r=1,maxn=0;
for(int i=1;i<=n;i++){
if(!fa[i]) r=i;
if(fb[i]>fb[maxn]) maxn=i;
}
cout<<r<<endl<<maxn<<endl;
for(int i=1;i<=n;i++){
if(fa[i]==maxn) printf("%d ",i);
}
return 0;
}