kopasd99   2년 전

안녕하세요 3시간째 73퍼에서 막힌 사람입니다. 당연히 질문에 있는 반례들은 모두 통과했고요..

코드를 설명해보자면, 인접 리스트로 트리를 만들고, 2차원 배열로 가중치를 적어뒀습니다.

만*만*4(int)=4억비트=400MB로 크기 에러가 나니, unsigned char을 사용해서 100MB만 사용, 실제로 메모리 초과때문에 틀린것 같지는 않습니다.

그리고 트리의 자식 노드가 2개 이상인 것들을 head 에 저장, 이 것들을 모두 DFS로 돌려서, 각 각 자식 노드가 하나씩 DFS되게 run 함수와 run2 함수를 따로 만들어, 각각 자식들의 가중치를 따로 계산해, priority_queue에 넣어넣고, 가장 큰것 2개만 뽑아서 더한뒤, ans변수에 넣었고, 이를 반복해서 가장 큰 가중치를 계산할 수 있었습니다.

고수님들 무엇이 문제인지 도와주시면 감사하겠습니다!!! 또한 코린이라 이것저것 지적해주시면 너무나 감사하겠습니다. 

댓글을 작성하려면 로그인해야 합니다.