[백준] 3008. 직각 삼각형의 개수

newbieski·2022년 1월 21일
0

백준

목록 보기
88/210

https://www.acmicpc.net/problem/3008

문제요약

  • 1500개의 점에서 직각 삼각형의 개수 찾기
  • 중복되는 점 없음

접근법

  • 길이로 접근하려고 했으나 어떻게 하든 N^3임
  • 한 점을 기준으로 연결된 점들의 기울기를 구할 수 있음
  • 기울기가 서로 직각인 것들의 쌍의 개수를 구할 수 있음 : map사용
    • a / b 와 -b / a는 직각, 수평/수직선은 비슷하게 처리해도 됨
  • 1500개 점에 대해서 반복
  • O(NNlog(N)){O(N * N * log(N))}
  • 전체 점에 대해서 map을 다 구해놓고 시작을 하니 메모리 초과가 발생했음(cpp)
  • 각각의 점에 대해 작업을 하는 시점에 map을 생성하니 통과했음(cpp)
  • python에서는 그냥 구현해도 메모리 초과/시간초과는 발생하지 않았음. python 채점 사이트 보정이 들어가서 그런듯
profile
newbieski

0개의 댓글