포럼
문제 USACO0704

점 제거

설명

무한한 2차원 좌표 평면 위에 \(N\) (\(2 \leq N \leq 10^5, N\)은 짝수\()\)개의 점 \((x_i,y_i)\) (\(1 \leq x_i, y_i \leq 10^6\))이 있다.

다음 두 종류의 연산을 원하는 만큼 수행할 수 있다.

  • 서로 바로 인접한(맨해튼 거리가 \(1\)인) 두 점을 선택하여 두 점 모두 제거한다.
  • 임의의 두 점을 선택하여 y좌표를 교환한다. 형식적으로, 점 \((a,b)\)\((c,d)\)는 각각 \((a,d)\)\((c,b)\)가 된다.

평면 위의 모든 점을 제거하는 것이 가능한지 판별하시오. 두 점이 같은 좌표에 놓이게 될 수도 있는데, 그래도 서로 다른 점으로 취급해야 한다. 또한 같은 좌표에 있는 점들은 엄밀히는 바로 인접한 것이 아니므로 직접 제거할 수 없다.

문제 제공: Alex Pylypenko, Chongtian Ma

제약

채점 방식

  • 입력 2: \(T\le 1000\), \(N \le 6\)
  • 입력 3-5: \(N\le 100\)
  • 입력 6-11: 추가 제약 조건이 없다.

문제 제공: Alex Pylypenko, Chongtian Ma

입력 형식

첫째 줄에 테스트 케이스의 수 \(T\) (\(1 \leq T \leq 5000\))가 주어진다.

각 테스트 케이스의 첫째 줄에 정수 \(N\)이 주어진다.

다음 \(N\)개의 줄에 두 정수 \(x_i\)\(y_i\)가 주어진다.

모든 테스트 케이스에 대한 \(N\)의 합은 \(5\cdot 10^5\)를 넘지 않음이 보장된다.

출력 형식

각 테스트 케이스마다 "YES" 또는 "NO"를 한 줄에 출력한다.

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

For the first test, the only two points are equal, so no swaps will do anything.
Thus, our answer is NO.

In the second test, we can swap the y-coordinates of 6 and 7 with 8 and 8. Then,
we can remove the first two points (horizontal adjacency) and the last two (vertical).

For the third test, no swaps are needed. We can remove the first pair, second, and
third.

In the last test, it can be shown that no matter how we swap the y-coordinates, we
will never be able to remove all the points in adjacent pairs.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2025-2026 > Third Contest > Silver

태그

평가 및 의견

Point Elimination

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

Log in to rate problems.

개별 의견

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

풀이 제출

Point Elimination

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