인쇄 회로
시간 제한1초메모리 제한128 MB
격자에 일부 세로선과 가로선이 주어질 때, 세로 비용 1과 가로 비용 2로 모든 노드를 연결하도록 선을 추가하고, 그 개수와 총비용을 출력한다.
문제
인쇄 회로(printed circuit) 는 노드(node) 와, 노드 쌍을 잇는 배선(wire segment) 으로 이루어진 기판이다. 이 문제에서 노드는 직사각형 격자 형태로 배열되며, 모든 배선은 인접한 두 노드를 세로 또는 가로로만 연결한다. 임의의 두 노드가 배선의 연쇄로 이어져 있으면 그 회로는 연결되어 있다(connected) 고 한다.
일부 인접한 노드들이 이미 배선으로 연결된 회로가 주어진다. 전체 회로가 연결되도록 새로운 배선을 추가해야 한다. 새 세로 배선의 비용은 , 새 가로 배선의 비용은 이다.
최소 비용으로 회로를 완성하는 프로그램을 작성하여 다음 두 값을 구하라.
- 최소 비용 완성에 사용된 새 배선의 개수 .
- 그 완성의 총 비용 .
입력
첫 줄에 두 정수 과 이 주어진다 (, ). 은 격자의 행 수, 은 열 수이다. 노드는 좌표로 지칭하며, 왼쪽 위 노드가 , 오른쪽 아래 노드가 이다.
이어지는 개의 줄에는 각각 개의 정수가 주어진다. 행 열의 값은 노드 에서 방향(아래쪽) 및 방향(오른쪽)으로의 배선을 다음과 같이 나타낸다.
- : 배선 -와 -이 모두 없다.
- : 배선 -만 있다.
- : 배선 -만 있다.
- : 두 배선이 모두 있다.
격자 밖을 가리키는 값은 주어지지 않는다 (예를 들어 에서는 만 유효하다).
출력
한 줄에 두 정수 와 를 공백으로 구분하여 출력한다. 는 최소 비용 완성에 사용된 새 배선의 개수, 는 그 완성의 총 비용이다.
힌트
그림 1은 하나의 회로를, 그림 2는 그 회로의 한 최소 비용 완성을 보여준다. 이 완성은 새 배선 개를 사용해 총 비용 을 이룬다. 완성 방법 자체는 유일하지 않지만 와 는 항상 유일하다.

