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

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

Brave Force Story

면접 대비

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

요약
장애물이 있는 육각 격자에서 시작 칸에서 t턴 이내에 도달할 수 있는 칸의 수를 세는 문제입니다.
난이도

보통10점 중 5점

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

문제

「최북단의 땅, 나인 아일랜드에는 특별한 힘을 지닌 자들이 살고 있었다. 어떤 이는 불을, 어떤 이는 얼음을, 어떤 이는 바람을, 어떤 이는 흙을 마음대로 다룰 수 있었다. 사람들은 이런 술자들을 이렇게 불렀다. 'Brave Force'라고…. 때는 전국시대. 권력자들은 Brave Force를 사욕을 위해 부리려 했고, Brave Force 사냥을 시작했다. Brave Force를 둘러싼 싸움이 이제 막 시작되려 한다.」

이상은 당신이 지금 만들려는 전략 시뮬레이션 게임의 프롤로그이다. 이 프롤로그는 이 문제와 전혀 관계가 없다.

문제 설명으로 돌아가자. 전략 시뮬레이션의 세계에서는 정육각형 칸이 자주 쓰인다. 정사각형 칸에 비해 방향에 따른 거리 차이가 작고, 빈틈없이 깔 수도 있기 때문이다.

이번에는 이런 맵 위에서 말을 움직이는 것을 생각한다. 말은 각 턴마다 인접한 칸으로 이동시킬 수 있다. 물론 맵 위에는 많은 장애물이 있어 그곳으로는 이동할 수 없다. 정해진 턴 수가 지날 때까지 도달할 수 있는 칸의 수는 몇 개일까?

입력

입력은 각각 맵의 정보를 나타내는 하나 이상의 데이터 세트로 이루어진다.

데이터 세트의 첫 줄에는 두 정수가 있고, 첫 번째가 턴 수 t, 두 번째가 장애물의 수 n이다.

이어지는 n줄에는 각각 장애물 칸의 좌표를 나타내는 두 정수가 있고, 첫 번째가 x 좌표, 두 번째가 y 좌표이다. 장애물의 좌표는 서로 다르다.

그리고 마지막 줄에는 시작 위치 칸의 좌표를 나타내는 두 정수가 있고, 첫 번째가 x 좌표, 두 번째가 y 좌표이다. 이 칸에는 장애물이 없다. 또한 이 칸은 도달할 수 있는 칸에 포함된다.

칸에 할당된 좌표는 아래 그림과 같다.

그림 B-1 칸에 할당된 좌표

입력의 끝은 "0 0"을 포함하는 줄로 나타낸다.

어떤 좌표든 절댓값이 30 이하이다. 턴 수는 1 이상 30 이하이다. 장애물의 수는 0 이상 300 이하이다.

그림 B-2 Sample Input의 첫 번째 데이터 세트

출력

각 맵에 대해 도달할 수 있는 칸의 수를 나타내는 정수를 한 줄에 하나씩 출력한다. 그 밖의 여분의 문자를 출력에 포함해서는 안 된다.

예제1

  1. 예제 1

    입력
    1 1
    1 0
    0 0
    2 2
    -2 1
    2 0
    2 2
    2 0
    -1 1
    4 4
    -2 1
    1 -2
    1 2
    3 -3
    -2 0
    4 6
    0 1
    1 1
    1 0
    -1 0
    -1 -1
    0 -1
    0 0
    0 0
    
    예상 출력
    6
    18
    19
    58
    1