khsoo01   7년 전

첨부한 소스 코드는 제가 문제를 풀 때 사용한 소스의 일부입니다. (맞은 코드)

그런데, 여기서 get_hull 함수의

    sort(a+2, a+1+n, comp);

부분을

    sort(a+1, a+1+n, comp);

로 바꾸면 틀리는데요,

제가 생각하기로는 비교 함수에 a[1]이 들어가게 되면 항상 tmp가 0이 되고, dist(a[1], a[1]) == 0이기 때문에 항상 a[1]이 더 작거나 같다고 판정하게 되어서 a[1]의 위치가 변할 일은 없기 때문에 a[1]부터 정렬하든 a[2]부터 정렬하든 크게 다를 것이 없을 것 같습니다.

a[1]부터 정렬할 때와 a[2]부터 정렬할 때 발생하는 차이의 이유가 궁금합니다.

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