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

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

은하 정부

시간 제한2초메모리 제한512 MB

요약
최대 18개의 축에 평행한 상자가 주어질 때, 어떤 상자에도 속하지 않는 반정수 격자점을 찾고 그중 사전순으로 가장 작은 것을 구한다.
난이도

어려움10점 중 8점

유형
백트래킹, 완전 탐색, 구현, 기하
정답자
아직 제출이 없습니다

문제

kk차원 정육면체 우주에 현재 nn개의 은하 정부가 있다. 우주는 두 반대쪽 꼭짓점 (0,…,0)(0, \ldots, 0)과 (C,…,C)(C, \ldots, C)를 가지며 각 변이 좌표축에 평행한 정육면체이다. 형식적으로 우주의 점 집합은 U={(x1,…,xk)∈Rk ⁣:0≤xi≤C}.U = \{(x_1, \ldots, x_k) \in \mathbb{R}^k \colon 0 \le x_i \le C\}\text{.}

각 은하 정부는 자신의 영토가 좌표축에 평행한 변을 가진 평행육면체라고 주장한다. ii번째 정부는 두 반대쪽 꼭짓점 (ai,1,…,ai,k)(a_{i,1}, \ldots, a_{i,k})과 (bi,1,…,bi,k)(b_{i,1}, \ldots, b_{i,k})를 가지는 평행육면체를 주장하며, 모든 jj에 대해 ai,j<bi,ja_{i,j} < b_{i,j}이다. 형식적으로 ii번째 정부가 주장하는 점 집합은 Gi={(x1,…,xk)∈U ⁣:ai,j≤xj≤bi,j}.G_i = \{(x_1, \ldots, x_k) \in U \colon a_{i,j} \le x_j \le b_{i,j}\}\text{.}

어떤 영토는 여러 정부가 동시에 주장할 수 있다.

Rick은 어떤 은하 정부도 주장하지 않는 점을 찾으려 한다. 그는 모든 ii (1≤i≤n1 \le i \le n)와 모든 jj (1≤j≤k1 \le j \le k)에 대해 ai,ja_{i,j}가 정수임을 알아냈다. Rick은 이로부터 주장되지 않은 점이 존재할 필요충분조건이 αi\alpha_i가 모두 정수인 주장되지 않은 점 (α1+12,α2+12,…,αk+12)\left(\alpha_1 + \frac{1}{2}, \alpha_2 + \frac{1}{2}, \ldots, \alpha_k + \frac{1}{2}\right)이 존재하는 것임을 안다. Rick은 정수를 좋아하므로, (α1+12,α2+12,…,αk+12)\left(\alpha_1 + \frac{1}{2}, \alpha_2 + \frac{1}{2}, \ldots, \alpha_k + \frac{1}{2}\right)가 우주에 속하면서 G1,…,GnG_1, \ldots, G_n 어디에도 속하지 않도록 하는 α1,…,αk\alpha_1, \ldots, \alpha_k를 구하라고 요청한다. 그러한 점이 여러 개라면 Rick은 사전순으로 가장 작은 것을 원한다.

점 (β1+12,…,βk+12)\left(\beta_1 + \frac{1}{2}, \ldots, \beta_k + \frac{1}{2}\right)가 (γ1+12,…,γk+12)\left(\gamma_1 + \frac{1}{2}, \ldots, \gamma_k + \frac{1}{2}\right)보다 사전순으로 작다는 것은, 모든 i<ji < j에 대해 βi=γi\beta_i = \gamma_i이면서 βj<γj\beta_j < \gamma_j인 jj (1≤j≤k1 \le j \le k)가 존재한다는 뜻이다.

입력

첫째 줄에 세 정수 nn, kk, CC가 주어진다 (1≤n≤181 \le n \le 18, 1≤k≤101 \le k \le 10, 1≤C≤10001 \le C \le 1000). 다음 nn개의 줄 중 ii번째 줄에는 2k2k개의 정수 ai,1,…,ai,k,  bi,1,…,bi,ka_{i,1}, \ldots, a_{i,k}, \; b_{i,1}, \ldots, b_{i,k}가 주어진다 (1≤j≤k1 \le j \le k인 모든 jj에 대해 0≤ai,j<bi,j≤C0 \le a_{i,j} < b_{i,j} \le C).

출력

우주의 모든 점을 은하 정부가 주장한다면 "NO"를 출력한다. 그렇지 않다면 첫째 줄에 "YES"를 출력하고, 둘째 줄에 (α1+12,α2+12,…,αk+12)\left(\alpha_1 + \frac{1}{2}, \alpha_2 + \frac{1}{2}, \ldots, \alpha_k + \frac{1}{2}\right)가 우주에 속하면서 G1,…,GnG_1, \ldots, G_n 어디에도 속하지 않게 하는 kk개의 정수 α1,…,αk\alpha_1, \ldots, \alpha_k를 출력한다. 답이 여러 개라면 사전순으로 가장 작은 것을 출력한다.

예제2

  1. 예제 1

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

    입력
    1 3 5
    0 0 0 5 5 5
    
    예상 출력
    NO