2-R 1068 질문 드립니다.(링크 수정하여 다시 올립니다)
292
작성한 질문수 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점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
5-B
0
16
2
4 - A
0
33
2
코딩살구클럽 입장이 안됩니다
0
82
2
4-F 경우의 수 질문입니다.
0
35
2
코딩살구클럽 가입이 안됩니다.
0
85
2
살구 클럽에 대한 질문있습ㄴ디ㅏ
0
63
1
교안 158페이지 문의드립니다
0
47
2
코딩살구클럽 관련 건의사항
0
119
1
코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다
0
45
1
진행 방법 질문드립니다!
0
83
2
2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.
0
64
2
2주차 개념#12 트리 순회
0
33
2
백준사이트가 종료된다고 합니다.
0
318
2
백준 서비스 종료
9
953
1
sk 하이닉스 코테 대비
0
388
2
3-G 최댓값 질문
0
54
1
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
84
2
3-I 코드 질문드립니다.
0
66
2
3-N 질문 있습니다.
0
68
2
학습방법
0
105
2
4-H 질문 있습니다 (코드 리뷰)
0
69
2
코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.
0
186
2
2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.
0
74
2
2주차 개념 #4-2. 인접행렬 질문있습니다.
0
66
2





