만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

동전 퍼즐

면접 대비

시간 제한1초메모리 제한1024 MB

요약
두 격자의 동전 배치가 주어질 때, 회전과 대칭 없이 평행이동만으로 첫 배치를 둘째 배치로 만드는 데 필요한 최소 이동 동전 수를 구합니다.
난이도

쉬움10점 중 3점

유형
완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

동전 퍼즐을 풀어 보자. 처음에 무한 격자 평면에 동전 몇 개가 놓여 있다. 모든 동전은 격자점 위에 있다.

퍼즐의 목표는 최소 개수의 동전을 옮겨서 새로운 모양을 만드는 것이다. 동전은 한 번에 한 개씩 들어서 빈 격자점에 놓을 수 있다. 새로운 모양은 어느 위치에 만들어도 되지만, 회전된 모양이나 대칭된 모양을 만드는 것은 인정되지 않는다.

예를 들어 다음과 같은 두 가지 동전의 배치를 생각하자.

첫 번째 배치를 두 번째 배치로 만들려면 아래와 같이 최소 네 개의 동전을 옮겨야 한다.

현재 동전의 배치와 만들어야 하는 동전의 배치가 주어질 때, 옮겨야 하는 동전의 최소 개수를 구하시오.

입력

첫 번째 줄에 정수 H_1H\_1, W_1W\_1이 주어진다. (1≤H_1,W_1≤101\le H\_1,W\_1\le 10)

그다음 줄부터 H_1H\_1개의 줄에 길이 W_1W\_1의 문자열이 주어진다. '.'은 빈칸, 'O'는 동전이 있는 칸이다. 현재 동전의 배치를 나타낸다.

그다음 줄에 정수 H_2H\_2, W_2W\_2가 주어진다. (1≤H_2,W_2≤101\le H\_2,W\_2\le 10)

그다음 줄부터 H_2H\_2개의 줄에 길이 W_2W\_2의 문자열이 주어진다. '.'은 빈칸, 'O'는 동전이 있는 칸이다. 만들어야 하는 동전의 배치를 나타낸다.

두 배치의 동전 개수는 같다고 보장된다.

출력

옮겨야 하는 동전의 최소 개수를 출력한다.

예제3

  1. 예제 1

    입력
    5 5
    O...O
    O...O
    OOOOO
    ..O..
    ..O..
    5 5
    ..O..
    ..O..
    OOOOO
    O...O
    O...O
    
    예상 출력
    4
    
  2. 예제 2

    입력
    2 5
    OOO.O
    O.OOO
    4 3
    .OO
    OO.
    .OO
    OO.
    
    예상 출력
    4
    
  3. 예제 3

    입력
    3 5
    .O...
    OO...
    .....
    4 3
    ...
    ...
    ..O
    .OO
    
    예상 출력
    0