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

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

대각선 교차

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

요약
정n각형에서 선택된 m개의 대각선 중 내부에서 서로 교차하는 쌍의 개수를 센다. 꼭짓점만 공유하는 경우는 제외한다.
난이도

보통10점 중 6점

유형
정렬, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

정 nn각형이 주어지고, 이 다각형의 대각선 중 mm개가 선택되어 있다. 선택된 대각선들 가운데 서로 교차하는 대각선 쌍이 몇 개인지 구하라. 두 대각선이 다각형 내부에서 서로 가로지르면 교차한다고 하며, 두 대각선이 꼭짓점(끝점) 하나만 공유하는 경우는 교차로 세지 않는다.

다음을 수행하는 프로그램을 작성하라.

  • 표준 입력에서 다각형과 선택된 대각선들의 정보를 읽는다.
  • 서로 교차하는 대각선 쌍의 개수를 센다.
  • 그 개수를 표준 출력에 쓴다.

입력

첫째 줄에 두 정수 nn과 mm이 공백 하나로 구분되어 주어진다. nn은 다각형의 꼭짓점 수, mm은 선택된 대각선의 수이다 (4≤n≤1 000 0004 \le n \le 1\,000\,000, 2≤m≤10 000 0002 \le m \le 10\,000\,000).

이어지는 mm개의 줄에는 각 대각선의 정보가 주어진다. ii번째 줄에는 두 정수 aia_i와 bib_i (1≤ai,bi≤n1 \le a_i, b_i \le n)가 공백 하나로 구분되어 주어지며, 이는 꼭짓점 aia_i와 꼭짓점 bib_i를 잇는 대각선을 뜻한다. 다각형의 꼭짓점은 반시계 방향으로 11부터 nn까지 번호가 매겨져 있다.

입력으로 주어지는 각 쌍은 항상 올바른 대각선을 나타낸다(같은 꼭짓점을 가리키거나 다각형의 변이 되는 경우는 없다). 또한 입력에 주어지는 모든 대각선은 서로 다르다.

출력

서로 교차하는 대각선 쌍의 개수를 한 줄에 정수 하나로 출력한다. 교차하는 쌍이 하나도 없으면 00을 출력한다.

힌트

위 그림에서 실선과 점선은 같은 다각형 위에서 선택된 서로 다른 두 대각선 집합을 나타낸다.

예제2

  1. 예제 1

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

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