BaekJoon 11758번 : CCW (python)

oweiΒ·2024λ…„ 4μ›” 28일

λ°±μ€€

λͺ©λ‘ 보기
47/62

πŸ“ BaekJoon 11758번 : CCW (G5 60.914%)


πŸ”Ž CCW 문제


πŸ“Œ 아이디어

CCW(Counter Colock Wise)μ•Œκ³ λ¦¬μ¦˜μ„ μ†Œκ°œν•˜λŠ” 문제둜 κΈ°ν•˜μ˜ 외적 μ„±μ§ˆμ„ μ΄μš©ν•˜λŠ” λ¬Έμ œμ΄λ‹€.


πŸ’­ 풀이

  • 3개의 점 A,B,Cκ°€ μžˆμ„ λ•Œ 점 3개λ₯Ό μˆœμ„œλŒ€λ‘œ μ΄μ—ˆμ„ λ•Œ λ‚˜μ˜¬ 수 μžˆλŠ” 경우의 μˆ˜λŠ” μ‹œκ³„λ°©ν–₯, 직선, λ°˜μ‹œκ³„ λ°©ν–₯ 3κ°œκ°€ λœλ‹€. μ΄λŠ” μ™Έμ μ˜ μ„±μ§ˆμ„ μ΄μš©ν•˜μ—¬ νŒλ³„ν•  수 있게 λœλ‹€.
  • λ°©ν–₯ 벑터 AB와 BCλ₯Ό λ³΄μ•˜μ„ λ•Œ AB x BCλŠ” AB와 BC에 λŒ€ν•œ 외적이고 ν•΄λ‹Ή 값을 ν‘œν˜„ν•˜λ©΄
    (x1y2 + x2y3 + x3y1) - (x2y1 + x3y2 + x1y3)으둜 ν‘œν˜„ν•  수 있고 ν•΄λ‹Ή 값이 음수일 경우 μ‹œκ³„λ°©ν–₯, μ–‘μˆ˜μΌ 경우 λ°˜μ‹œκ³„ λ°©ν–₯, 외적 값이 0일 경우 μ§μ„ μœΌλ‘œ λ‚˜λˆ„μ–΄μ§€κ²Œ λœλ‹€.

λŠλ‚€μ 

  • κΈ°ν•˜μ˜ 외적 μ„±μ§ˆμ„ μ΄μš©ν•œ λ¬Έμ œλŠ” 처음 μ ‘ν•΄μ„œ λ°”λ‘œ 외적이 μƒκ°λ‚˜μ§€λŠ” μ•Šμ•˜λ˜ 것 κ°™λ‹€.
  • CCW μ•Œκ³ λ¦¬μ¦˜μ„ μ•Œκ³  있으면 λΉ„μŠ·ν•œ λ₯˜μ˜ λ¬Έμ œλŠ” μ‘μš©ν•΄μ„œ μ‰½κ²Œ ν’€ 수 μžˆμ„ 것 κ°™λ‹€.

πŸ’» μ½”λ“œ

import sys
input = sys.stdin.readline

num = []
a1, b1 = map(int,input().split())
a2, b2 = map(int,input().split())
a3, b3 = map(int,input().split())

axb = (a1*b2 + a2*b3 + a3*b1) - (a2*b1 + a3*b2 + a1*b3)

if axb == 0 :
    print(0)
elif axb > 0 :
    print(1)
else :
    print(-1)

profile
owei

0개의 λŒ“κΈ€