X 아우라
시간 제한1초메모리 제한2048 MB
높이가 적힌 격자와 홀수 지수 X가 주어집니다. 각 이동의 비용은 (h1-h2)^X이며, 두 칸 사이의 최소 총 비용을 질의마다 구하거나 비용이 무한히 작아질 수 있으면 INVALID를 출력합니다.
문제
ICPC 산은 행 (행부터 행까지 번호를 매긴다)과 열 (열부터 열까지 번호를 매긴다)의 격자로 나타낼 수 있다. 행 , 열 의 칸은 로 표기하며, 높이는 이다. 두 칸은 변을 공유하면 인접한다. 따라서 는 해당 칸이 존재한다면 , , , 과 인접한다.
인접한 칸 사이로만 이동할 수 있으며, 이동할 때마다 페널티가 붙는다. 홀수인 양의 정수 를 아우라로 가질 때, 높이 인 칸에서 높이 인 칸으로 이동하면 의 페널티를 받는다. 페널티는 음수일 수 있다.
독립된 시나리오가 개 있다. 각 시나리오에서는 시작 칸 에서 도착 칸 까지 총 페널티가 최소가 되도록 이동한다. 일부 시나리오에서는 총 페널티를 임의로 작게 만들 수 있다. 이런 시나리오를 잘못된(invalid) 시나리오라고 한다. 각 시나리오마다 총 페널티의 최솟값을 구하거나, 그 시나리오가 잘못되었는지 판단한다.
입력
첫 줄에 세 정수 , , 가 주어진다 (; ; 는 홀수).
이어지는 개 줄에는 길이가 인 문자열 이 주어진다. 각 문자는 0부터 9까지의 숫자이다. 의 번째 문자가 칸 의 높이 이다.
다음 줄에는 정수 ()가 주어진다.
이어지는 개 줄에는 정수 네 개 (; )가 주어진다.
출력
시나리오마다 한 줄에 답을 출력한다. 잘못된 시나리오이면 INVALID를 출력한다. 그렇지 않으면 시작 칸에서 도착 칸까지의 총 페널티 최솟값을 정수로 출력한다.