지뢰 피하기
시간 제한3초메모리 제한1024 MB
출입구에서 시작해 출입구로 돌아오는 경로를 따라 아이템을 모으되, 지뢰를 밟을 때 보유 아이템 수가 그 지뢰의 W값 이상이 되지 않도록 하며 얻을 수 있는 아이템의 최대 개수를 구한다.
문제
마인크래프트를 좋아하는 수학토끼는 마인크래프트와 지뢰찾기를 섞어 행 열 직사각형 격자에서 할 수 있는 재미있는 게임을 만들었다. 게임의 규칙은 다음과 같다:
- 격자에 개의 아이템이 배치되어 있다. 한 칸에 아이템은 최대 하나 있을 수 있다.
- 아이템이 없는 칸에 개의 지뢰가 배치되어 있다. 한 칸에 지뢰는 최대 하나 존재한다. 또한 각 지뢰는 고유한 숫자 를 가지며, 개 이상의 아이템을 가진 상태로 그 지뢰를 밟으면 지뢰가 터진다.
- 플레이어는 상하좌우 칸 중 하나로 이동할 수 있다. 단, 격자 밖으로 나갈 수 없다.
- 이 격자와 외부를 연결하는 통로는 하나이다. 즉, 출입구 칸에서부터 시작하여 다시 출입구 칸으로 돌아와야 한다.
- 아이템이 있는 칸에 가면 아이템을 얻을 수 있으며, 이 때 아이템을 얻을지 여부는 선택할 수 있다. 단, 한 번 얻은 아이템은 다시 버릴 수 없다.
예를 들어 아래 예제 1과 같은 상황을 보자. 이 경우 2개 이상의 아이템을 얻을 수 없다. 1번 아이템을 얻으면 2번 아이템도 얻고 돌아올 수 없고, 2번 아이템을 얻으면 1번 아이템도 얻고 돌아올 수 없기 때문이다.
수학토끼는 직사각형 격자에 대한 조사를 미리 다 했기 때문에 출입구 칸과 아이템의 위치, 지뢰의 위치 및 고유 숫자를 모두 알고 있다. 지뢰가 터지지 않도록 하면서 얻을 수 있는 아이템의 최대 개수를 출력하는 프로그램을 작성하라.
입력
첫 줄에 두 정수 과 이 주어진다.
둘째 줄에 출입구 칸의 좌표 와 가 주어진다.
셋째 줄에 아이템의 개수 가 주어진다.
넷째 줄부터 번째 줄까지 개의 아이템의 위치 정보가 주어진다. 구체적으로 번째 줄에는 번째 아이템의 좌표 와 가 주어진다.
째 줄에 지뢰의 개수 가 주어진다.
째 줄부터 째 줄까지 개의 지뢰의 정보가 주어진다. 구체적으로 번째 줄에는 번째 지뢰의 좌표 와 , 그리고 고유 숫자 가 주어진다.
출력
지뢰가 터지지 않도록 하면서 얻을 수 있는 아이템의 최대 개수를 출력한다.
제한
- , (, ()는 모두 서로 다르다.