경로 계산기 반환
시간 제한2초메모리 제한512 MB
격자에서 오른쪽이나 아래로만 이동하는 모든 경로를 식으로 읽고, 그 값들의 합을 M으로 나눈 나머지를 구합니다.
문제
격자는 행 열로 이루어져 있다. 각 칸에는 다음 11가지 문자 중 하나가 적혀 있다. 덧셈 연산자 '+', 곱셈 연산자 '*', 또는 1부터 9까지의 숫자이다.
왼쪽 위 칸에서 시작해 오른쪽 아래 칸에서 끝나는 경로가 있다. 이동은 오른쪽 또는 아래로만 할 수 있다. 경로의 값은 경로에 놓인 칸의 문자를 순서대로 이어 붙여 얻은 수식을 계산한 결과이다. 가능한 모든 경로의 값을 더한 합을 구하라. 합이 클 수 있으므로 으로 나눈 나머지를 출력한다.
왼쪽 위 칸과 오른쪽 아래 칸은 항상 숫자이다. 또한 변을 공유하는 두 칸 중 적어도 하나는 숫자이다. 따라서 어떤 경로에서 얻은 수식도 올바른 수식이다.
입력
첫째 줄에 세 정수 , , 이 주어진다 (, ). 다음 개의 줄에는 격자가 주어진다. 는 행 열 칸에 적힌 문자이다. 각 는 '+', '*', 또는 1부터 9까지의 숫자이다. 과 는 모두 숫자이다. 변을 공유하는 두 칸 중 적어도 하나는 숫자이다.
출력
가능한 모든 경로의 값을 더한 합을 으로 나눈 나머지를 출력한다.