2-R 1068 질문 드립니다.(링크 수정하여 다시 올립니다)
296
작성한 질문수 3
선생님 죄송합니다. 링크 수정하여 다시 질문 드립니다.
저는 Input 값을 받을 때, 부모 자식에 대한 꼬리표를 같이 매겨서 부모 = 1 / 자식 = 2 / 루트 = -1 이런 식으로 풀었는데요. 75 % 쯤에서 Fail이 뜨네요 ㅠㅠ
어떤 문제가 있는 걸까요? 코드는 아래 링크에 있습니다
http://boj.kr/457d11f9ac914b61b98f62c5f2a89554
감사합니다
답변 1
0
안녕하세요 한수님 ㅎㅎ
이 문제는 노드를 지우고 >> 리프노드를 세는 건데요.
일단은 이부분.
for (int i = 0; i < n; i++) {
//-1이 아니라. 1인. 주어지는 간선을 기반으로 리프노드 카운팅하는게
// 더 나아보임. 2는 새로이 만든거니까 헷갈려요.
if ((arr[i].size() == 1) && (arr[i][0].first == 1)) cnt2++;
}-1이 아니라 1로 하는게 맞죠. 왜냐면 2가 포함되면. 2는 한수님이 로직을 위해 만든 역방향 간선이기 때문에 해당 부분은 포함되면 안되는 것 같습니다.
저는 근데 이 로직이 이해가 안가는데요.
이로직은 지워지는 정점으로 이어지는 정점의 사이즈가 1, 그리고 루트노드가 아니라면 cnt++을 합니다.
//만약 지워지는 간선이 리프노드라면?? cnt++???
if (arr[del].size() == 1 && arr[del][0].first != -1) {
cnt++;
return;
}저의 화가같은.. 그림입니다.하하.
그니까 한수님은 이런 로직이죠. del 타고타고 가서 저 초록색일 때 cnt++하는 거잖아요.
저걸 카운팅하고 >> 추후에 리프노드수를 세고 >> 그 수를 빼는게
어떻게 이게 지워진 정점의 리프노드의 수가 되는지 의아해서요.
cout << cnt2 - cnt;그니까 이경우.
이경우는 리프노드라. adj[del].size == 1에 안걸릴 거같아서요.
혹시 증명 가능한가요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
선생님 안녕하세요.
pair <int,int> 를 사용하여 (카테고리, 노드번호) 를 아래와 같이 구현했습니다.
루트 : -1 / 부모 : 1 / 자식 : 2
(루트 / 부모 / 자식 , 노드번호)
Ex) 아래 그림에서 No. 0은 루트 노드이면서 (2,1),(2,2) 자식노드인 1 , 2 를 가지고 있다는 식으로 구현을 했는데요.
cnt2를 카운팅할 때, 리프 노드는 자식이 없고 부모 하나밖에 없다는 생각에 착안하여
size가 1인 녀석들이 리프노드라고 생각했습니다. cnt2 = 리프 노드의 총 갯수

del이 1이라고 가정을 한다면
1이 가지고 있는 (arr[del][i].first == 2) --> 자식 노드들의 값 3 / 4 를 인자값으로 넘겨주게 되면 해당 3 / 4 인 녀석들은 size가 1(리프노드) 이기 때문에 cnt++ 를 하고 리턴을 하게 됩니다. 결론 적으로 재귀함수를 다 돌게 되면 del = 1 과 연계 되는 모든 리프노드들이 계산이 되게 된다고 생각했습니다.


따라서, cnt2(리프노드 총 갯수) - cnt(del과 연계된 모든 리프노드) = 남은 리프노드
라고 생각하여 구현했는데 예외가 어떤게 있는지 잘 모르겠네요 ㅠㅠ
0
아 이해했습니다.
다음과 같은 반례가 있습니다.
2
-1 0
정답 : 1
코드 : 아무것도 출력이 안됨.
9
-1 0 0 5 2 4 4 6 6
정답 : 2
코드 : 아무것도 출력이 안됨.
확인 부탁드려요.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
코딩 살구 클럽 컴파일 에러
0
4
1
추천 문제
0
7
1
코딩살구클럽 승인
0
9
1
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
21
2
문제를 고민하는 시간 관련
0
26
2
코딩살구클럽
0
38
2
코딩살구클럽 문의
0
37
2
코딩살구클럽 승인
0
35
2
DP 경우의 수 설명이 이해가 되지 않습니다.
0
33
2
3-F 채점 관련 질문
0
31
1
BFS, DFS 활용이 되는 상황에서의 방향성
0
33
2
코딩살구클럽 승인
0
45
2
코딩살구클럽승인
0
39
3
코딩살구클럽 승인
0
54
2
3-D 관련 질문
0
35
2
코살구 회원가입 문의
0
45
2
코살구 로그인 문제
0
65
2
3-A 문제 풀이 관련 질문
0
56
3
2-O 질문 있습니다
0
38
2
2-T 문제에 관한 질문
0
40
2
코딩 살구 클럽 접속 및 사용방법 문의
0
63
2
안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~
0
67
2
코딩살구클럽 로그인문제
0
85
3
코딩 살구 클럽 로그인 문제
0
86
2





