| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 0.5 초 | 1024 MB | 194 | 85 | 67 | 42.138% |
한서는 $H$행 $W$열의 구슬 보드판을 가지고 있다. 이 보드판의 각 칸에는 구슬이 올려져 있을 수 있으며, 구슬이 놓인 칸은 1로, 비어 있는 칸은 0으로 표시된다. 보드판의 초기 상태가 주어지면, 한서는 구슬을 적당히 옮겨서 원하는 모양을 만들려고 한다. 대신 한서는 구슬을 옮기는 것이 매우 귀찮기 때문에 가능한 최소한의 움직임으로 옮기려고 한다.
한서가 구슬을 한 번 움직일 때 다음 세 가지 행동 중 하나를 할 수 있다.
한서가 원하는 모양을 완성할 수 없다면 -1을 출력하고, 완성할 수 있다면 최소한으로 구슬을 움직인 횟수를 출력하라.
첫 번째 줄에 보드판의 가로 길이 $W$와 세로 길이 $H$가 주어진다. $(1 ≤ W, H ≤ 100)$
두 번째 줄부터 $H$개의 줄에 걸쳐 구슬 보드판의 초기 상태가 주어진다. 각 칸은 0(빈 칸) 또는 1(구슬이 있는 칸)로 이루어져 있다.
$H+2$ 번째 줄부터 $H$개의 줄에 걸쳐 한서가 만들고 싶어 하는 모양이 주어진다. 각 칸은 0(구슬이 없어야 하는 칸) 또는 1(구슬이 있어야 하는 칸)으로 이루어져 있다.
한서가 원하는 모양을 완성할 수 있는 최소한의 구슬 움직임 횟수를 출력한다.
만약 원하는 모양을 완성하는 것이 불가능하다면, -1을 출력한다.
4 3 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
4
3 3 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1
-1
2 2 1 1 0 0 1 1 0 0
0
4 4 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0
5