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

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

금연 구역

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

요약
직사각형 마을 안에 서로 겹치지 않는 최대 200개의 건물이 있을 때, 모든 건물에서 거리가 D에서 0.1을 뺀 값 이상인 지점이 마을 안에 존재하는지 판정한다.
난이도

어려움10점 중 8점

유형
기하, 유니온 파인드, 그래프, 구현
정답자
아직 제출이 없습니다

문제

해외를 여행할 때에는 방문하는 모든 나라의 현지 법을 지켜야 합니다. 어떤 나라에서는 건물로부터 거리 DD 이내에서 담배를 피우는 것을 법으로 금지합니다. 그렇다면 자연스럽게 이런 질문이 생깁니다. 이 마을 안에 합법적으로 담배를 피울 수 있는 장소가 과연 존재할까요?

다행히 여기서 다루는 마을은 규칙적으로 설계되어 있어 이 질문에 답하기가 비교적 쉽습니다. 마을의 경계는 좌표축에 평행한 직사각형 RR이고, 건물들은 RR 안에 놓인, 서로 겹치지 않는 좌표축 평행 직사각형들입니다. 순찰대는 정밀 측정 장비를 갖추고 있지 않으므로, 마을 안(경계 RR 위 포함)에서 가장 가까운 건물까지의 거리가 D−1D - 1미터 9090센티미터, 즉 D−0.1D - 0.1미터 이상인 지점이라면 어디서든 담배를 피울 수 있습니다.

입력

입력에는 여러 개의 마을이 주어집니다. 각 마을은 여러 줄로 이루어집니다.

첫 줄에는 공백으로 구분된 네 정수 DD, RxR_x, RyR_y, NN이 주어집니다.

  • DD (1≤D≤1000001 \le D \le 100000)는 흡연이 합법이 되는, 건물로부터의 최소 거리입니다.
  • RxR_x, RyR_y (1≤Rx,Ry≤1000001 \le R_x, R_y \le 100000)는 마을의 크기로, 마을은 네 꼭짓점 (0,0)(0, 0), (Rx,0)(R_x, 0), (Rx,Ry)(R_x, R_y), (0,Ry)(0, R_y)를 갖는 직사각형입니다.
  • NN (0≤N≤2000 \le N \le 200)은 건물의 수입니다.

이어지는 NN개의 줄에는 각각 네 정수 FxF_x, FyF_y, TxT_x, TyT_y (0≤Fx<Tx≤Rx0 \le F_x < T_x \le R_x, 0≤Fy<Ty≤Ry0 \le F_y < T_y \le R_y)가 주어지며, 이는 한 건물의 네 꼭짓점 (Fx,Fy)(F_x, F_y), (Fx,Ty)(F_x, T_y), (Tx,Ty)(T_x, T_y), (Tx,Fy)(T_x, F_y)를 나타냅니다. 한 마을 안의 건물들은 서로 겹치지 않습니다.

마지막 마을 다음에는 네 개의 00으로 이루어진 줄이 오며, 이 줄은 마을을 나타내지 않습니다.

출력

각 마을마다 한 줄을 출력합니다.

마을 안(경계 RR 위 포함)에 모든 건물까지의 거리가 D−0.1D - 0.1미터 이상인 지점이 하나라도 있으면 Smoking permitted!를 출력합니다. 그렇지 않으면 Smoking not permitted!를 출력합니다.

답이 모호해지지 않도록, 모든 마을은 다음 두 조건 중 정확히 하나를 만족함이 보장됩니다. 모든 건물까지의 거리가 D+0.1D + 0.1미터 이상인 지점이 존재하거나, 아니면 마을 안의 모든 지점이 어떤 건물로부터 D−0.1D - 0.1미터보다 가깝습니다.

예제4

  1. 예제 1

    입력
    8 20 20 1
    7 7 13 13
    10 20 20 1
    7 7 13 13
    0 0 0 0
    
    예상 출력
    Smoking permitted!
    Smoking not permitted!
    
  2. 예제 2

    입력
    5 10 10 0
    0 0 0 0
    
    예상 출력
    Smoking permitted!
    
  3. 예제 3

    입력
    1 5 5 1
    0 0 5 5
    0 0 0 0
    
    예상 출력
    Smoking not permitted!
    
  4. 예제 4

    입력
    3 20 20 1
    9 9 11 11
    0 0 0 0
    
    예상 출력
    Smoking permitted!