healthparta   3년 전

공식이 있다는걸 알게됐지만

이렇게 풀어도 답은 나오는것 같은데 반례를 못찾겠네요.

dmswl022329   2년 전

P1P2 벡터와 P2P3 벡터의 외적의 부호를 통해 답을 구하시려는것 같네요

x1 = CCW[1][0] - CCW[0][0]
y1 = CCW[1][1] - CCW[0][1]
x2 = CCW[2][0] - CCW[0][0]
y2 = CCW[2][1] - CCW[0][1]

5 ~ 8줄이 이런데

x1 = CCW[1][0] - CCW[0][0]
y1 = CCW[1][1] - CCW[0][1]
x2 = CCW[2][0] - CCW[1][0]
y2 = CCW[2][1] - CCW[1][1]

이렇게 바뀌어야 하지 않을까 싶습니다.


비교식이 (y1/x1)*x2 < y2 이건데 전부 좌항으로 넘기면

(y1/x1)*x2 - y2 < 0 이고

x1이 0이 아니라고 가정할때 x1을 양변에 곱해주면

x2 * y1 - x1 * y2 < 0 입니다

이때 x2 * y1 - x1 * y2  가 P1P2 벡터와 P2P3 벡터의 외적했을때 값이구요

아무리 봐도 7~8 줄에서 전처리를 실수하신거 같습니다.

healthparta   2년 전

오 6달만에도 댓글이 달리는군요

그런데 말씀해주신대로 수정해서 제출해도 70% 쯤에서 오답처리되는건 해결되지 않네요 ㅠㅠ

관심가져주셔서 감사합니다!

dmswl022329   2년 전

아니면 조건문이 너무 많아서 그런건가 싶기도 합니다.

묶을수 있는 조건문은 되도록이면 묶어주는게 좋아 보입니다.

26~35줄을 보면

아래와 같은데


표로 그려보면

                  y1이 양수     y1이 음수

x2가 양수     -1                   1

x2가 음수       1                   -1

임을 알 수 있죠


이걸 생각해서 코드를 짜신거 같은데

자세히 보면 둘의 부호가 같으면 -1 다르면 1 을 출력하는걸 알 수 있죠

그러면 코드는 밑의 코드와 같이 간단해집니다.


이런식으로 같은 조건문을 줄여보시는게 좋아 보입니다.

healthparta   2년 전

아 그렇군요

관심갖고 제안해주셔서 감사합니다!

lukek1101   2년 전

윗윗윗윗댓님 x1 음수면 나가리 아닌가요

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