아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

다각형

시간 제한1초메모리 제한128 MB

요약
볼록 다각형과 그 삼각분할이 주어졌을 때, 한 기본 삼각형이 교차할 수 있는 삼각분할 삼각형 개수의 최댓값을 구한다.
난이도

어려움10점 중 8점

유형
기하, 동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

두 삼각형의 내부가 적어도 한 점을 공유하면 두 삼각형이 서로 교차한다고 한다. 다각형 위의 임의의 두 점을 잇는 선분이 항상 그 다각형 안에 들어 있으면 그 다각형을 볼록 다각형이라고 한다. 세 꼭짓점이 모두 어떤 볼록 다각형의 꼭짓점인 삼각형을 그 다각형의 기본 삼각형이라고 한다. 볼록 다각형의 삼각분할이란 서로 교차하지 않으면서 합치면 다각형 전체를 덮는 기본 삼각형들의 모임이다.

볼록 다각형과 그 삼각분할 하나가 주어진다. 이 다각형의 기본 삼각형 하나가 삼각분할의 삼각형들과 최대 몇 개까지 교차할 수 있는지 구하여라.

아래 삼각분할을 보자.

여기서 기본 삼각형 (1,3,5)(1, 3, 5) 는 삼각분할의 모든 삼각형과 교차한다.

표준 입력으로 다각형과 그 삼각분할을 읽고, 기본 삼각형 하나가 교차할 수 있는 삼각분할 삼각형의 최대 개수를 계산하여 표준 출력으로 출력하는 프로그램을 작성하여라.

입력

첫째 줄에 다각형의 꼭짓점 개수 nn 이 주어진다 (3≤n≤10003 \le n \le 1000). 꼭짓점은 시계 방향으로 00 부터 n−1n-1 까지 번호가 매겨져 있다.

이어지는 n−2n-2 개의 줄에는 삼각분할의 삼각형이 하나씩 주어진다. i+1i+1 번째 줄 (1≤i≤n−21 \le i \le n-2) 에는 ii 번째 삼각형의 세 꼭짓점 번호가 공백 하나로 구분되어 주어진다.

출력

주어진 다각형의 기본 삼각형 하나가 교차할 수 있는 삼각분할 삼각형의 최대 개수를 정수 하나로 출력한다.

예제3

  1. 예제 1

    입력
    6
    0 1 2
    2 4 3
    4 2 0
    0 5 4
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3
    0 1 2
    
    예상 출력
    1
    
  3. 예제 3

    입력
    5
    0 1 2
    0 2 3
    0 3 4
    
    예상 출력
    3