탱그램
시간 제한8초메모리 제한512 MB
가로, 세로, 대각선 방향의 변으로 이루어진 단순 다각형이 주어질 때, 칠교 조각 7개를 겹치지 않게 모두 사용해 채울 수 있는지 판별합니다.
문제
당신의 예쁘고 사랑스러운 여동생 Chen이 탱그램 퍼즐을 한 시간째 붙잡고 있다가 도움을 청했다. 탱그램은 중국에서 유래한 퍼즐이다. 일곱 개의 조각을 모두 사용해 주어진 도형을 만드는 것이 목표다. 각 조각은 어디에든 놓을 수 있고, 회전하거나 뒤집을 수 있다. 단, 조각끼리 겹치면 안 된다.
일곱 조각은 다음과 같다.
- 작은 직각삼각형 2개 (변의 길이 , , )
- 중간 직각삼각형 1개 (변의 길이 , , )
- 큰 직각삼각형 2개 (변의 길이 , , )
- 정사각형 1개 (한 변의 길이 )
- 평행사변형 1개 (변의 길이 , )
다각형 의 모양이 주어질 때, 일곱 조각을 모두 사용해 를 만들 수 있는지 판별하라. 다음 조건을 가정해도 된다.
- 의 각 변은 축, 축, 직선 , 직선 중 하나와 평행하다.
- 는 연결되어 있고 구멍이 없다. 또한 는 단순 다각형이어서, 변이 서로 교차하거나 맞닿지 않는다.
입력
첫 줄에 의 꼭짓점 개수 ()이 주어진다. 이어지는 개의 줄에는 의 꼭짓점이 시계 방향 순서로 주어진다. 각 줄에는 음이 아닌 정수 , , , 가 공백으로 구분되어 있으며, 해당 꼭짓점의 위치는 이다. 모든 좌표는 1000을 넘지 않는다.
출력
일곱 조각으로 를 만들 수 있으면 "Yes", 없으면 "No"를 한 줄에 출력한다.