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

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

Lost Edge

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

요약
N×M 격자에서 플레이어가 도달 가능한 자기보다 낮은 레벨의 몬스터를 잡아 목표 레벨 K를 만든 뒤 레이드 장소에 도착할 수 있는지 판정한다. 이미 잡은 몬스터 칸은 계속 지나갈 수 있다.
난이도

보통10점 중 6점

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

문제

새로운 RPG게임인 Lost Edge에는 레이드 시스템이 존재한다. 하지만, 레이드에 참가하기 위해선 일정 레벨 이상을 찍고 레이드 장소에 모여야 한다.

플레이어는 상하좌우 4방향으로 한 칸씩만 움직일 수 있으며, 벽은 지나갈 수 없다. 다행히도 arc가 아니기 때문에 이동 방향에 제약은 없으며, 한 번 방문한 칸도 다시 방문할 수 있다.

플레이어는 자신보다 레벨이 낮은 몬스터만 잡을 수 있다. 이때 잡은 몬스터의 레벨만큼의 경험치를 얻는다. 또한 현재 레벨이 ii이고 jj만큼의 경험치를 가지고 있다면, 레벨업을 위해 경험치가 (i−j)(i-j)만큼 필요하다. 이때 레벨업을 하고 남은 경험치는 잃지 않고 남는다. 즉, (i−j+k)(i-j+k)만큼의 경험치를 얻었다면 레벨업을 한 후 경험치가 kk만큼 남게 된다. 한 번 잡은 몬스터는 다시 잡을 수 없다.

이미 잡은 몬스터가 있는 구역은 언제든 지나갈 수 있지만, 잡을 수 없는 몬스터가 있는 구역이나 레이드 장소는 지나갈 수 없다. 플레이어의 시작 장소와 레이드 장소는 유일하다.

플레이어가 원하는 레벨을 찍고 레이드 장소에 도착할 수 있을지 알아보자.

입력

맵의 크기는 N×MN\times M이다.

플레이어의 시작 레벨 LL, 시작 경험치 EE, 목표 레벨 KK가 주어진다.

맵이 주어진다. 이때 플레이어의 초기 위치는 −3-3, 레이드 장소는 −2-2, 벽은 −1-1, xx레벨 몬스터는 xx, 나머지 빈 공간은 00으로 주어진다.

이때, 입력은 아래와 같이 주어진다.

NN MM

LL EE KK

A_1,1A\_{1,1} A_1,2A\_{1,2} ... A_1,MA\_{1,M}

...

A_N,1A\_{N,1} A_N,2A\_{N,2} ... A_N,MA\_{N,M}

출력

플레이어가 목표 레벨에 도달하고 레이드 장소로 갈 수 있으면 O, 아니면 X를 출력한다.

제한

  • 2≤N2 \leq N, M≤100M \leq 100
  • 2≤L≤10,0002 \leq L \leq 10\\,000
  • 0≤E<L0 \leq E \lt L
  • L≤K≤10,000L \leq K \leq 10\\,000
  • 1≤x≤10,0001 \leq x \leq 10\\,000

예제3

  1. 예제 1

    입력
    4 8
    7 3 13
    -3 0 5 2 3 -1 0 0
    0 1 1 2 4 -1 -2 1
    1 2 4 2 -1 9 9 9
    2 1 2 1 0 1 0 0
    
    예상 출력
    O
    
  2. 예제 2

    입력
    4 8
    5 0 6
    -3 0 5 2 3 -1 0 0
    0 1 1 2 4 -1 -2 1
    1 2 4 2 -1 9 9 9
    2 1 2 1 0 1 0 0
    
    예상 출력
    X
    
  3. 예제 3

    입력
    4 8
    6 3 10
    -3 0 5 2 3 -1 0 0
    0 1 1 2 4 -1 -2 1
    1 2 4 2 -1 11 11 11
    2 1 2 1 0 1 0 0
    
    예상 출력
    X