아래 입력이
12 4 2 6 0 9 6 -1 2 2 7 6 7 1 result: 0 1 2 3 4 5 6 7 8 9 10 11 5! not 1 6 +--+--+ 2 5 10 +--+--+ * * 1 7 8 x | * | +--+ 11 9 * | 4 | 0 | 3 *
5가 아닌 1이 나와서 봤더니,
위 코드의 28번 라인에서 P[i]의 값이 바뀌어 R(루트)이 지정이 않되는 현상이 있어서,
C[P[i]][N[P[i]]++] =
이전에 오답 처리된 답안들을 기존 C++에서 C로 제출해 보니, 정답 처리 되네요...
제 PC에선 g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0 였는데, 서버 C++에선 먼가 다르게 처리되는 거 같기도 하군요.
zzerross 3년 전 1
아래 입력과 랜덤 생성 코드 짜서 100세트 정도,
다른 분의 정답 코드의 결과와 비교해봐도 결과가 같은데, 계속 오답이 나오네요.
계시판 다 보고는 혹시 저도 초기화 문제일까 싶어,
https://www.acmicpc.net/source/21519200 처럼 초기화를 해줘봐도 역시나 오답이네요.
코드는 계시판 보고는 루트는 하나로 가정을 했구요.
M은 입력으로 주어지는 노드 수
D는 입력으로 주어지는 삭제된 노드 번호
R은 부모 노드 번호가 -1로 입력된 루트 노느 번호
P는 입력으로 주어지는 부모 노드의 번호
C는 각 노드들의 자식 노드들에 대한 인접리스트
N은 각 노드들의 자식 노드 수 이고
루트 부터 자식노드를 찾아 DFS를 돌면서, leaf node이면 count하는 방식으로 구현했습니다.
제가 멀 놓친걸까요...