파댕이의 학교 탈출 대작전!

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

요약
정해진 주기 경로를 따라 움직이는 선생님들이 있는 격자에서, 학생이 5의 배수 시각에만 이동해 교실 (1,1)에서 (N,M)까지 가서 K만큼 식사하고 T 안에 교실로 돌아올 수 있는지 판정한다.
난이도

어려움10점 중 8점

유형
BFS, 시뮬레이션, 그래프, 구현
정답자
아직 제출이 없습니다

문제

고등학생이 되어 떡볶이와 튀김이 먹고 싶어진 파댕이는 점심시간에 학교에서 탈출해 분식점에 간다는 사악한 계획을 세웠다.

학교를 나가려고 주변을 살펴본 파댕이는 선생님들이 주변을 감시하고 있어 학교를 쉽게 출입할 수 없다는 사실을 깨달았다. 파댕이가 선생님의 감시에 걸리지 않고 점심시간 내에 떡볶이를 먹고 교실로 돌아올 수 있는지 확인해 주자!

탈출해야 하는 학교는 N×MN \times M 의 격자 구조이며, 파댕이는 다음과 같은 사실들을 알아내었다.

  • 파댕이가 탈출을 결심한 시점은 t=1t = 1이며, 파댕이가 교실로 돌아왔을 때에도 t≤Tt \le T를 만족해야 한다.
  • 파댕이는 현재 교실에 있으며, 교실은 (1,1)(1 , 1) 칸에, 분식점은 (N,M)(N, M) 칸에 존재한다.
  • 각 격자 칸에서 #은 장애물을, .은 빈 공간을 의미한다. 선생님과 파댕이는 장애물 위를 지나갈 수 없으며, 지도 밖으로도 나갈 수 없다.
  • 파댕이는 t≡5(mod10)t \equiv 5 \pmod{10}일 때마다 가만히 있거나 인접한 칸으로 이동할 수 있으며, 파댕이가 분식점에서 식사를 끝낸 시점 t_eatt\_{eat}에 대해 t_eat≡5(mod10)t\_{eat} \equiv 5 \pmod{10}라면 식사를 끝내자마자 바로 이동할 수 있다.
  • 선생님은 항상 주어진 경로를 따라 순서대로 이동하며, t≡0(mod10)t \equiv 0 \pmod{10}일 때 이동한다.
  • 선생님은 인접한 8개의 칸만을 감시하고 있으며. 한 칸 위에 선생님이 여러 명 있을 수도 있다. 또한 파댕이는 모든 시점에 선생님의 감시에 걸려서는 안 된다. 단, 인접한 칸으로 이동하는 도중에는 선생님의 감시에 걸리지 않는다.
  • 파댕이가 교실이나 분식점에 있는 경우에는 선생님의 감시에 걸리지 않는다.

두 칸 (a,b)(a , b)와 (x,y)(x , y)가 서로 인접한다는 것은 max⁡(∣a−x∣,∣b−y∣)=1\max (\left\vert a - x \right\vert, \left\vert b - y \right\vert) = 1임을 의미한다.

입력

첫째 줄에 지도의 세로 길이 NN 과 가로 길이 MM, 선생님의 수 LL, 남은 점심시간 TT, 떡볶이와 튀김을 먹는 데 걸리는 시간 KK가 정수로 주어진다. (2≤N,M≤1,000;1≤L≤2,000;1≤T≤3,600;1≤K≤T)(2 \le N, M \le 1,000; 1 \le L \le 2,000; 1 \le T \le 3,600; 1 \le K \le T) 둘째 줄부터 NN개의 줄에 걸쳐 지도가 주어진다. 주어진 지도의 왼쪽 위 꼭짓점의 좌표는 (1,1)(1, 1), 오른쪽 아래 꼭짓점의 좌표는 (N,M)(N, M) 이며, (1,1)(1, 1) 칸과 (N,M)(N, M) 칸에는 장애물이 없음이 보장된다. 다음 줄부터 LL개의 데이터가 다음과 같은 형식으로 주어진다.

  • 첫째 줄에 선생님의 이동 경로 길이 pp가 주어진다. (1≤p≤100)(1 \le p \le 100)
  • 둘째 줄부터 pp개의 줄에 걸쳐 선생님의 이동 경로 x_i,y_ix\_i, y\_i가 주어진다. (1≤x_i≤N;1≤y_i≤M)(1 \le x\_i \le N; 1 \le y\_i \le M)

선생님은 항상 이동 경로를 순서대로 따라가며, 이동은 반드시 정지 혹은 인접한 칸으로의 이동이다. 즉, 선생님은 (x_1,y_1),(x_2,y_2),⋯ ,(x_p,y_p),(x_1,y_1),⋯(x\_1, y\_1), (x\_2, y\_2), \cdots, (x\_p, y\_p), (x\_1, y\_1), \cdots의 경로로 이동하게 된다. t=1t = 1일 때 선생님의 위치는 (x_1,y_1)(x\_1, y\_1)이다.

출력

파댕이가 떡볶이와 튀김을 사 먹고 교실로 돌아올 수 있다면 YUMMY, 없다면 SAD를 출력한다.

힌트

t=nt = n일 때 선생님의 위치는 (x_(⌊n10⌋ mod p,+,1),y_(⌊n10⌋ mod p,+,1))(x\_{( \lfloor{\frac{n}{10}}\rfloor \bmod {p} \\, + \\, 1 )}, y\_{( \lfloor{\frac{n}{10}}\rfloor \bmod {p} \\, + \\, 1 )})이다.

예제3

  1. 예제 1

    입력
    4 4 1 55 10
    ....
    #..#
    .#..
    .#..
    1
    1 4
    
    예상 출력
    YUMMY
    
  2. 예제 2

    입력
    6 5 2 3600 400
    .###.
    #...#
    ..#..
    ..#..
    ##.##
    .....
    7
    1 5
    1 5
    2 4
    2 3
    2 2
    2 3
    2 4
    8
    2 3
    2 4
    3 4
    4 4
    5 3
    4 4
    3 5
    2 4
    
    예상 출력
    YUMMY
    
  3. 예제 3

    입력
    3 4 1 90 11
    ...#
    .##.
    #...
    11
    1 2
    1 3
    1 3
    1 3
    1 3
    1 3
    1 3
    1 3
    1 3
    1 3
    1 3
    
    예상 출력
    SAD