20149번 - 선분 교차 3
문제 예제 및 현재까지 질문 게시판에 올라온 모든 반례를 넣어봤는데 모두 정상 작동합니다. (cout 과 printf가 섞여있는 것은 cout에서 소수점을 다루는 것이 익숙하지 않아서..)
우선 선분 교차 1, 2에서 사용한 코드로 선분의 교차 여부를 chk로 확인했고, 교차할 때 첫 번째 if문에서는 두 선분이 평행할 때를 고려했습니다. (if(chk) 이후)
그 다음 else if 두 개에서는 두 선분 중 하나의 선분이 y축과 평행할 때를 고려했고, 마지막엔 연립 방정식의 해를 구하는 과정으로 문제를 풀었습니다.
제가 생각하지 못한 조건 또는 반례를 찾아주세요..!
printf 출력 포맷이 원인으로 보입니다.
63번 줄에서 x와 y는 double로 선언되어 있는데 97, 105, 113번 줄에서는 %llf (long double을 의도하신 것 같습니다, %Lf을 권장드립니다)로 되어 있습니다.
%lf로 출력 포맷을 변경하시거나 선언을 long double로 하고 포맷을 %Lf로 변경하시면 될 것 같습니다.
감사합니다!
댓글을 작성하려면 로그인해야 합니다.
working05 2년 전
문제 예제 및 현재까지 질문 게시판에 올라온 모든 반례를 넣어봤는데 모두 정상 작동합니다. (cout 과 printf가 섞여있는 것은 cout에서 소수점을 다루는 것이 익숙하지 않아서..)
우선 선분 교차 1, 2에서 사용한 코드로 선분의 교차 여부를 chk로 확인했고, 교차할 때 첫 번째 if문에서는 두 선분이 평행할 때를 고려했습니다. (if(chk) 이후)
그 다음 else if 두 개에서는 두 선분 중 하나의 선분이 y축과 평행할 때를 고려했고, 마지막엔 연립 방정식의 해를 구하는 과정으로 문제를 풀었습니다.
제가 생각하지 못한 조건 또는 반례를 찾아주세요..!