[백준 17386][파이썬] 선분 교차 1

2023. 4. 25. 12:00·백준 알고리즘/기타
728x90

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

 

17386번: 선분 교차 1

첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. 세 점이 일직선 위에 있는 경우는 없다.

www.acmicpc.net

이전 포스팅에서 CCW 알고리즘을 활용하여 선분 교차하는 방법에 대해서 배웠다.

https://growth-coder.tistory.com/163

 

이 방식을 그대로 사용하면 된다.

 

우선 세 점이 일직선 상에 존재하는 경우가 없다고 했으므로 ccw의 값이 0인 경우는 신경쓰지 않아도 된다.

 

그럼 예외 사항은 아래 그림과 같은 경우만 신경쓰면 된다.

이 경우는 선분 AC를 기준으로 한 번, 선분 BD를 기준으로 두 번 계산하면 된다.

 

import sys
input = sys.stdin.readline
def ccw(x1, y1, x2, y2, x3, y3):
    return  x1*y2 + x2*y3 + x3*y1 - x2*y1 - x3*y2 - x1*y3
x1, y1, x2, y2 = map(int, input().split())
x3, y3, x4, y4 = map(int, input().split())
a=ccw(x1, y1, x2, y2, x3, y3)
b=ccw(x1, y1, x2, y2, x4, y4)
c=ccw(x3, y3, x4, y4, x1, y1)
d=ccw(x3, y3, x4, y4, x2, y2)
print(1 if a*b<0 and c*d<0 else 0)
728x90

'백준 알고리즘 > 기타' 카테고리의 다른 글

[JS] 알고리즘 문제 풀이 용 자바스크립트 문법 (업데이트 중)  (0) 2024.06.01
[백준 1927][파이썬] 최소 힙. 파이썬 heapq 모듈 사용법 (우선순위 큐)  (0) 2023.03.13
[백준 1629][파이썬] 곱셈  (0) 2023.02.28
[백준 1541][파이썬] 잃어버린 괄호  (0) 2023.02.27
[백준 10986][파이썬] 나머지 합  (0) 2023.02.21
'백준 알고리즘/기타' 카테고리의 다른 글
  • [JS] 알고리즘 문제 풀이 용 자바스크립트 문법 (업데이트 중)
  • [백준 1927][파이썬] 최소 힙. 파이썬 heapq 모듈 사용법 (우선순위 큐)
  • [백준 1629][파이썬] 곱셈
  • [백준 1541][파이썬] 잃어버린 괄호
웅대
웅대
알고리즘과 백엔드를 중심으로 열심히 공부 중입니다! 같이 소통하며 공부해요!
    250x250
  • 웅대
    웅대 개발 블로그
    웅대
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 백준 알고리즘
        • dp
        • 문자열
        • 정렬
        • 스택
        • 브루트 포스
        • 이진 탐색
        • 정리
        • 우선순위 큐
        • 자료구조
        • 그래프
        • 기타
        • 그리디
      • 컴퓨터 언어
        • Kotlin
        • Python
        • C#
      • 공부
        • Database
        • Android Studio
        • Algorithm
        • 컴퓨터 구조론
        • Spring
        • lombok
        • AWS
        • Network
        • OS
        • Git & GitHub
        • AI
        • Computer Vision
        • 보안
        • Nginx
        • 프론트
        • express
        • GCP
        • grokking concurrency
        • DevOps
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    푸쉬 알람
    AWS Lambda
    Vector Store
    openvidu 배포
    bfs
    codetree
    스택
    파이썬
    parametric search
    ChatPromptTemplate
    influxDB CLI
    스프링 OAuth2
    Merge
    code tree
    binary search
    nn.RNN
    다익스트라
    embedding
    ci/cd
    RNN
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
웅대
[백준 17386][파이썬] 선분 교차 1
상단으로

티스토리툴바