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

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

정사각형 세기 (Hard)

시간 제한3초메모리 제한1024 MB

요약
네 사분면에 놓인 네 직사각형에서 격자점을 하나씩 골라 만들 수 있는, 축에 평행한 정사각형의 개수를 센다.
난이도

보통10점 중 6점

유형
수학, 조합론, 기하
정답자
아직 제출이 없습니다

문제

민겸이는 4개의 서로 다른 사분면 위에 각 변이 \(x\)축 또는 \(y\)축에 평행하면서 네 꼭짓점이 모두 격자점 위에 있는 직사각형을 하나씩 그렸다. 각 직사각형에서 \(x\), \(y\) 좌표가 모두 정수인 점들을 하나씩 선택해 만들 수 있는 정사각형의 개수를 구하라. 이때, 정사각형의 각 변은 \(x\)축 또는 \(y\)축에 평행해야 한다.

입력

입력의 첫번째 줄에는 테스트 케이스의 개수 \(T\)가 주어진다.

각 테스트 케이스마다 4줄의 입력이 주어진다. 각 줄에는 4개의 정수 \(x_1\), \(y_1\), \(x_2\), \(y_2\)가 공백으로 구분되어 주어진다. \(i\)번째 줄에 주어진 (\(x_1\), \(y_1\))은 제 \(i\)사분면에 그린 직사각형의 꼭짓점 중 원점에 가장 가까운 점의 좌표이고, (\(x_2\), \(y_2\))은 제 \(i\)사분면에 그린 직사각형의 꼭짓점 중 원점에 가장 먼 점의 좌표이다.

출력

각 직사각형에서 \(x\), \(y\) 좌표가 모두 정수인 점들을 하나씩 선택해 만들 수 있는 정사각형의 개수를 각 테스트 케이스마다 한 줄에 하나씩 출력한다.

제한

  • 1 ≤ \(T\) ≤ 105
  • 1 ≤ \(|x_1|\), \(|y_1|\), \(|x_2|\), \(|y_2|\) ≤ 105
  • \(|x_1 - x_2|\) ≥ 1
  • \(|y_1 - y_2|\) ≥ 1

힌트

각 사분면은 아래 그림과 같이 위치한다.

예제1

  1. 예제 1

    입력
    3
    2 1 5 6
    -2 3 -6 5
    -1 -1 -7 -7
    1 -2 7 -4
    2 6 8 7
    -3 2 -4 9
    -1 -3 -10 -4
    5 -2 6 -9
    1 1 3 3
    -2 2 -4 4
    -5 -4 -7 -5
    1 -1 3 -3
    
    예상 출력
    31
    4
    0