#include<iostream>
#include<cstdlib>
using namespace std;
int n,m,tree[101]={0};
int main()
{
int i,x,y,root,maxroot,sum=0,j,Max=0;
cout<<"How many nodes do you want?(<=100) : ";
cin>>n; //结点数
cout<<"What size do you want?(<=200) : ";
cin>>m; //边数
cout<<"Please input each node : "<<endl;
for(i=1;i<=m;i++)
{
cin>>x>>y;
tree[y]=x;
}
for(i=1;i<=n;i++) //找出树根
if(tree[i]==0)
{
root=i;
break;
}
for(i=1;i<=n;i++) //找出孩子最多的结点
{
sum=0;
for(j=1;j<=n;j++)
if(tree[j]==i)sum++;
if(sum>Max)
{
Max=sum;
maxroot=i;
}
}
cout<<"root is : "<<root<<endl<<"maxroot is : "<<maxroot<<endl;
for(i=1;i<=n;i++)
if(tree[i]==maxroot)cout<<"maxroot's children are : "<<i<<"\n";
system("pause");
return 0;
}
#include<cstdlib>
using namespace std;
int n,m,tree[101]={0};
int main()
{
int i,x,y,root,maxroot,sum=0,j,Max=0;
cout<<"How many nodes do you want?(<=100) : ";
cin>>n; //结点数
cout<<"What size do you want?(<=200) : ";
cin>>m; //边数
cout<<"Please input each node : "<<endl;
for(i=1;i<=m;i++)
{
cin>>x>>y;
tree[y]=x;
}
for(i=1;i<=n;i++) //找出树根
if(tree[i]==0)
{
root=i;
break;
}
for(i=1;i<=n;i++) //找出孩子最多的结点
{
sum=0;
for(j=1;j<=n;j++)
if(tree[j]==i)sum++;
if(sum>Max)
{
Max=sum;
maxroot=i;
}
}
cout<<"root is : "<<root<<endl<<"maxroot is : "<<maxroot<<endl;
for(i=1;i<=n;i++)
if(tree[i]==maxroot)cout<<"maxroot's children are : "<<i<<"\n";
system("pause");
return 0;
}
