도미노 게임
시간 제한1초메모리 제한1024 MB
음이 아닌 정수가 적힌 N×M 격자에서 인접한 두 칸을 골라 각각 1씩 줄이는(0 미만은 그대로) 행동을 반복할 때, 모든 칸이 0이 되기 전까지 할 수 있는 최대 차례 수를 구한다.
문제
크기의 격자가 주어진다. 행 열의 칸에는 음이 아닌 정수 가 적혀 있다. (; )
민지는 각 차례마다 아래와 같은 행동을 한다.
- 격자에서 상하좌우로 인접한 두 칸을 선택한다. 이때 두 칸에 적힌 수 중 적어도 하나는 양의 정수이어야 한다.
- 선택한 칸에 적힌 수에서 씩 뺀다. 만약 어떤 칸에 적힌 수가 이라면 그대로 둔다.
모든 칸에 적힌 수가 이 될 때 게임이 종료된다. 민지는 이 게임을 최대한 오래 하려고 한다. 민지가 최선을 다해 게임을 오래 진행했을 때, 진행할 수 있는 최대 차례의 수를 구해보자.
입력
첫째 줄에 양의 정수 , 이 공백으로 구분되어 주어진다. ()
이후 개의 줄에 걸쳐 격자에 적힌 수가 주어진다. 그 중 번째 줄에는 이 공백으로 구분되어 주어진다. ()
출력
진행할 수 있는 최대 차례의 수를 출력한다.