메뉴 건너뛰기

Programing

BAEKJOON

2250

관리자 2019.12.21 11:46 조회 수 : 8

C++

#include <cstdio>

#include <algorithm>

#include <climits>

using namespace std;

struct Node

{

    int parent;

    int left;

    int right;

};

int N,pos=1,root;

Node node[10010];

int width[10010][2];

void serch(int idx, int lvl){

    if(node[idx].left!=0){

        serch(node[idx].left,lvl+1);

    }

    //width[lvl][0]=min(width[lvl][0],pos);

    //width[lvl][1]=max(width[lvl][1],pos);

    if(width[lvl][0] == 0)

        width[lvl][0] = pos;

    width[lvl][1] = pos;

    pos++;

    if(node[idx].right!=0){

        serch(node[idx].right,lvl+1);

    }

}

int main()

{

    //for(int i=0;i<10010;i++){

    //    width[i][0]=INT_MAX;

    //}

    scanf("%d",&N);

    for(int i=0;i<N;i++){

        int a,b,c;

        scanf("%d %d %d",&a,&b,&c);

        if(b!=-1){

        node[a].left=b;

        node[b].parent=a;

        }

        if(c!=-1){

        node[a].right=c;

        node[c].parent=a;

        }

    }

    for(int i=1;i<=N;i++){

        if(node[i].parent==0){

            root=i;

            break;

        }

    }

    serch(root,0);

    int max_=0,index=0;

    //for(int i=0;width[i][0]<INT_MAX;i++){

    for(int i=0;width[i][0] > 0;i++){

        if(max_<width[i][1]-width[i][0]+1){

            index=i;

            max_=width[i][1]-width[i][0]+1;

        }

    }

    printf("%d %d",index+1,max_);

    return 0;

}

번호 제목 글쓴이 날짜 조회 수
공지 안내사항 관리자 2019.12.21 163
45 2468 관리자 2019.12.21 8
44 2458 관리자 2020.04.11 44
43 2457 관리자 2020.04.11 47
42 2454 관리자 2020.04.11 43
41 2450 관리자 2020.04.11 40
40 2339 관리자 2020.04.11 41
39 2307 관리자 2019.12.21 8
» 2250 관리자 2019.12.21 8
37 2233 관리자 2019.12.21 6
36 2170 관리자 2019.12.21 7
35 2132 관리자 2019.12.21 7
34 2096 관리자 2019.12.21 8
33 2042 관리자 2020.04.11 45
32 2003 관리자 2020.04.11 39
31 1991 관리자 2019.12.21 8
30 1967 관리자 2019.12.21 6
29 1966 관리자 2020.04.11 45
28 1946 관리자 2020.04.11 39
27 1874 관리자 2020.04.11 43
26 1839 관리자 2020.04.11 44
25 17611 관리자 2019.12.21 7
24 1753 관리자 2019.12.21 8
23 1742 관리자 2020.04.11 6
22 1720 관리자 2020.04.11 6
21 16210 관리자 2020.04.11 57
20 16201 관리자 2020.04.11 44
19 15971 관리자 2019.12.21 6
18 14865 관리자 2019.12.21 8
17 14503 관리자 2019.12.21 7
16 14502 관리자 2019.12.21 6
위로