1336:【例3-1】找树根和孩子

找树根和孩子

第一道树!!!(#^.^#)

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 const int N=105;
 5 int maxx,tree[N];
 6 int main(){
 7     int n,m,x,y,mr;
 8     cin>>n>>m;
 9     for(int i=1;i<=m;i++){
10         cin>>x>>y;
11         tree[y]=x;
12     }
13     //找根节点,依据根节点没有父节点这一特性
14     for(int i=1;i<=n;i++){
15         if(!tree[i]){
16             cout<<i<<endl;
17             break;
18         }
19     }
20     for(int i=1;i<=n;i++){
21         int sum=0;
22         for(int j=1;j<=n;j++)
23             if(tree[j]==i)sum++;
24         if(sum>maxx){
25             maxx=sum;
26             mr=i;
27         }
28     }
29     cout<<mr<<endl;
30     for(int i=1;i<=n;i++)
31         if(tree[i]==mr)cout<<i<<" ";
32     return 0;
33 }

 

上一篇:1352:【例4-13】奖金


下一篇:MR之排序