(好好复习是王道)

 

分析:简单题——将bst树构造出来,然后给每个节点打上高度。最后求出树的高度。然后count树高的节点数加上树高节点数-1就ok了

 1 #include <iostream>
 2 #include <cstdio>
 3 
 4 #define MAXN 1003
 5 using namespace std;
 6 typedef struct Node{
 7     int key,hight;
 8     int left,right;
 9 }Node;
10 
11 Node node[MAXN];
12 int solve_hight[MAXN];
13 int main()
14 {
15     int n,index1,index2,max,a,b;
16     scanf("%d",&n);
17 
18     scanf("%d",&node[0].key);
19     node[0].left=node[0].right=-1;
20     for(int i=1;i<n;i++){
21         scanf("%d",&node[i].key);
22         node[i].left=node[i].right=-1;
23         int j=0;
24         while(1){
25             if(node[i].key>node[j].key)
26                 if(node[j].right!=-1)
27                     j=node[j].right;
28                 else
29                     {
30                         node[j].right=i;
31                         break;
32                     }
33             else
34                 if(node[j].left!=-1)
35                     j=node[j].left;
36                 else
37                     {
38                         node[j].left=i;
39                         break;
40                     }
41             }
42         }
43         index1=index2=0;
44         solve_hight[index2++]=0;
45         node[0].hight=1;
46         while(index1!=index2){
47             if(node[index1].left!=-1){
48                 solve_hight[index2++]=node[index1].left;
49                 node[node[index1].left].hight=node[index1].hight+1;
50             }
51             if(node[index1].right!=-1){
52                 solve_hight[index2++]=node[index1].right;
53                 node[node[index1].right].hight=node[index1].hight+1;
54             }
55             index1++;
56         }
57 
58         a=b=max=0;
59         for(int i=0;i<n;i++){
60             if(node[i].left==-1&&node[i].right==-1&&node[i].hight>max)max=node[i].hight;
61         }
62         for(int i=0;i<n;i++){
63             if(max==node[i].hight)a++;
64             if(max-1==node[i].hight)b++;
65         }
66         printf("%d + %d = %d\n",a,b,a+b);
67 
68     return 0;
69 }
View Code

相关文章:

  • 2022-12-23
  • 2021-11-25
  • 2022-12-23
  • 2022-12-23
  • 2022-01-02
  • 2021-11-16
  • 2021-04-22
  • 2022-12-23
猜你喜欢
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案