좌표를 double로 받으시면 맨 아래점을 기준으로 여러점이 한 직선위에 있는 경우에 부동 소수점 오차때문에 여러번 세어지는 경우가 있습니다. 각도 관련해서는 일직선 위에 없다는 조건이 없다면 정수형으로 데이터를 받아야 합니다.
1708번 - 볼록 껍질
@dlwodnsdl 그렇군요. 그런데 저는 각도정렬을 할때 atan2(y,x) 를 쓰지않고 (1,0) 과의 내적을 이용해서 x축과 이루는 각도의 코사인값으로 정렬을 했는데 그래도 실수 오차가 문제가 될까요???
여러 질문글에서 답변해주신분들이 제시하시는 입력들을 다 넣어봤는데 맞는 값이나왔고 지금 (0,0) (3,1) (6,2) 도 맞게 나오는것같아서요..
@dlwodnsdl 오버플로우는 안나지않나요?? 최악의경우 16억*32억 일것같은데 512*10^16 은 long long 으로 처리가 되더라구요
댓글을 작성하려면 로그인해야 합니다.
sgc109 7년 전
y좌표로 정렬한뒤 가장아래있는 아무점을 잡고 각도로 정렬한뒤 반시계방향인것만 추가하는식으로했습니다.