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

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

N-orthotope

면접 대비

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

요약
N차원 공간에 있는 축에 평행한 두 상자의 겹치는 영역이 몇 차원인지 구하고 겹치지 않으면 -1을 출력합니다.
난이도

쉬움10점 중 1점

유형
구현, 기하
정답자
아직 제출이 없습니다

문제

축에 평행한 N-orthotope는 다음과 같은 형태로 나타나는 N차원 점의 집합이다.

[s1,e1]×[s2,e2]×⋯×[sN,eN](si<ei)[s_1, e_1] \times [s_2, e_2] \times \cdots \times [s_N, e_N] \quad (s_i < e_i)

즉 각 좌표 xix_i가 si≤xi≤eis_i \le x_i \le e_i를 만족하는 점 (x1,x2,…,xN)(x_1, x_2, \ldots, x_N)을 모두 모은 집합이다.

  • N=0N = 0이면 0차원의 점으로 정의한다.
  • N=1N = 1이면 1차원 위의 선분이다.
  • N=2N = 2이면 2차원에서 축에 평행한 직사각형 영역이다.
  • N=3N = 3이면 3차원에서 축에 평행한 직육면체 영역이다.

조금 더 일반화해서 si≤eis_i \le e_i까지 허용한 곱집합

[s1,e1]×[s2,e2]×⋯×[sK,eK](si≤ei)[s_1, e_1] \times [s_2, e_2] \times \cdots \times [s_K, e_K] \quad (s_i \le e_i)

을 생각하자. 여기서 si<eis_i < e_i인 ii가 정확히 NN개라면 이 점의 집합은 축에 평행한 N-orthotope가 된다. 앞으로 '평행한'은 생략하지만, 뒤에 나오는 orthotope도 모두 축에 평행한 orthotope이다.

어떤 NN에 대해 두 N-orthotope가 주어진다. 두 영역에 동시에 속하는 점이 있다면 그 점의 집합은 M-orthotope가 된다. 이때 MM을 구하는 프로그램을 작성하라. 2-orthotope의 경우 아래 네 가지가 있다.

  • A는 공통 영역이 다시 2-orthotope가 되는 경우이다.
  • B는 공통 영역이 1-orthotope, 즉 선분이 되는 경우이다.
  • C는 공통 영역이 0-orthotope, 즉 점이 되는 경우이다.
  • D는 공통 영역이 없는 경우이다. 이때는 -1을 출력한다.

입력

첫째 줄에 자연수 NN이 주어진다.

둘째 줄에 첫 번째 영역의 s1,e1,s2,e2,…,sN,eNs_1, e_1, s_2, e_2, \ldots, s_N, e_N이 공백으로 구분되어 주어진다.

셋째 줄에 두 번째 영역의 s1,e1,s2,e2,…,sN,eNs_1, e_1, s_2, e_2, \ldots, s_N, e_N이 공백으로 구분되어 주어진다.

주어지는 수는 모두 절댓값이 11 이하인 정수이고, 각 ii에 대해 si<eis_i < e_i이다.

1≤N≤111 \le N \le 11이다.

출력

첫째 줄에 두 영역의 공통 영역이 M-orthotope이면 MM을 출력한다. 공통 영역이 없으면 -1을 출력한다.

예제5

  1. 예제 1

    입력
    2
    0 5 0 5
    2 9 2 9
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    0 5 0 5
    5 10 5 10
    
    예상 출력
    0
    
  3. 예제 3

    입력
    2
    0 5 0 5
    5 10 2 9
    
    예상 출력
    1
    
  4. 예제 4

    입력
    2
    0 5 0 5
    6 10 0 5
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    1
    -11 11
    -5 0
    
    예상 출력
    1