포럼
문제 USACO0516

직사각형으로 그리기

설명

이전 작품이 평단의 찬사를 받은 뒤, 베시는 그림 세트를 디자인하는 일을 제안받았다. 베시는 평면 위에 축에 평행한 직사각형 \(1\le N\le 10^5\)개를, 어떤 두 변도 같은 직선 위에 놓이지 않도록 골라서 그림을 디자인한다. 이 직사각형들의 경계가 그림의 색칠된 영역들의 경계를 정의한다.

여전히 아방가르드 예술가인 베시는 그림이 홀스타인 소를 닮아야 한다고 결정한다. 구체적으로, 직사각형들이 만드는 각 영역은 검은색 또는 흰색으로 칠해지고, 인접한 두 영역은 같은 색이 아니며, 모든 직사각형 바깥의 영역은 흰색으로 칠해진다.

직사각형을 고른 뒤, 베시는 매개변수 \(T\)에 따라 다음 둘 중 하나를 출력해 주기를 원한다.

  • \(T=1\)이면, 전체 영역의 수를 출력한다.
  • \(T=2\)이면, 흰색 영역의 수와 검은색 영역의 수를 차례로 출력한다.

*참고: 이 문제의 시간 제한은 4초로, 기본값의 두 배이다.*

Problem credits: Andi Qu

제약

채점 방식

  1. 테스트 케이스 3-4는 \(N\le 10^3\)을 만족한다.
  2. 테스트 케이스 5-7에서는 어떤 두 직사각형의 경계도 교차하지 않는다.
  3. 테스트 케이스 8-10에서는 \(T=1\)이고 모든 직사각형의 경계가 연결되어 있다.
  4. 테스트 케이스 11-13에서는 \(T=2\)이고 모든 직사각형의 경계가 연결되어 있다.
  5. 테스트 케이스 14-18에서는 \(T=1\)이다.
  6. 테스트 케이스 19-23에서는 \(T=2\)이다.

Problem credits: Andi Qu

입력 형식

첫째 줄에 \(N\)\(T\)가 주어진다.

다음 \(N\)개의 줄에는 각 직사각형에 대한 설명이 \((x_1,y_1), (x_2,y_2)\)의 형태로 주어진다. 여기서 \(1\le x_1이고 \(1\le y_1이다. \((x_1, y_1)\)\((x_2, y_2)\)는 각각 직사각형의 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓점이다.

모든 \(x_i\)\(1\ldots 2N\)의 순열을 이루며, 모든 \(y_i\)에 대해서도 마찬가지임이 보장된다.

출력 형식

\(T=1\)이면 정수 하나를, 그렇지 않으면 공백으로 구분된 정수 두 개를 출력한다.

예제 1
입력
2 1
1 1 3 3
2 2 4 4
출력
4
설명

There are two white regions and two black regions, for a total of four regions.
The boundaries of all rectangles are connected, so this input would satisfy the
conditions of subtask 3.

예제 2
입력
5 2
1 5 3 6
5 4 7 9
4 1 8 3
9 8 10 10
2 2 6 7
출력
4 5
설명

The boundary of the rectangle in the upper-right is not connected to the rest of
the boundaries, so this input would not satisfy the conditions of subtask 4.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2021-2022 > February > Platinum

태그

평가 및 의견

Paint by Rectangles

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Paint by Rectangles

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8