sure97   4년 전

에라스토테네스의 체를 이용해 2000까지의 수가 소수인지 판별하였고( i 가 소수일시 prime[i] = false)

입력받은 수들이 홀수인지 짝수인지 구분해서 odd배열에 저장했습니다 

그 뒤 각 수들을 더한 값이 홀수이면 edge를 연결해주었습니다

첫번째 수와 연결된 수를 고정시킨 채로 다른 수들 중 홀수/짝수 여부가 첫번째 수와 같은 수로만 이분매칭 해주어서 연결이 될 경우 ans벡터에 넣어주고 ( 이 때 dfs함수에서 첫번째 수와 연결된 값은 바뀌지 못하게 설정했습니다. ) ans벡터를 정렬해서 출력했습니다 

문제 조건에 모두 맞게 푼 것 같은데 틀렸습니다가 나오네요 ㅠ 반례가 있을까요?

sure97   4년 전

해결했습니다 !

입력 중 홀수 개수와 짝수 개수가 다를 경우, -1을 출력해야하는데 한 쪽으로만 매칭을 시도해서 오답을 출력하는 사례가 있었네요 ㅠ 

ex) 

8
1 4 7 10 11 12 14 16

정답 : -1 / 출력 : 4 10 16

홀수 개수와 짝수 개수가 다른 경우 -1을 출력하는 조건을 추가해주니 맞았습니다 

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