시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB49327824656.422%

문제

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

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

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

첫 번째 배치에서 두 번째 배치로 만들기 위해서는 아래와 같이 최소 네 개의 동전을 옮겨야 한다.

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

입력

첫 번째 줄에 정수 $H_1$, $W_1$이 주어진다. ($1\le H_1,W_1\le 10$)

그다음 줄부터 $H_1$개의 줄에 길이 $W_1$의 문자열이 주어진다. ‘.’은 빈칸, ‘O’는 동전이 있는 칸이다. 현재 동전의 배치를 나타낸다.

그다음 줄에 정수 $H_2$, $W_2$가 주어진다. ($1\le H_2,W_2\le 10$)

그다음 줄부터 $H_2$개의 줄에 길이 $W_2$의 문자열이 주어진다. ‘.’은 빈칸, ‘O’는 동전이 있는 칸이다. 만들어야 하는 동전의 배치를 나타낸다.

두 배치의 동전의 개수는 동일함이 보장된다.

출력

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

예제 입력 1

5 5
O...O
O...O
OOOOO
..O..
..O..
5 5
..O..
..O..
OOOOO
O...O
O...O

예제 출력 1

4

예제 입력 2

2 5
OOO.O
O.OOO
4 3
.OO
OO.
.OO
OO.

예제 출력 2

4

예제 입력 3

3 5
.O...
OO...
.....
4 3
...
...
..O
.OO

예제 출력 3

0
W3sicHJvYmxlbV9pZCI6IjI3OTIxIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViM2Q5XHVjODA0IFx1ZDM3Y1x1Yzk5MCIsImRlc2NyaXB0aW9uIjoiPHA+XHViM2Q5XHVjODA0IFx1ZDM3Y1x1Yzk5MFx1Yzc0NCBcdWQ0ODBcdWM1YjQgXHViY2Y0XHVjNzkwISBcdWNjOThcdWM3NGNcdWM1ZDAgXHViYjM0XHVkNTVjIFx1YWNhOVx1Yzc5MCBcdWQzYzlcdWJhNzRcdWM1ZDAgXHViM2Q5XHVjODA0IFx1YmE4NyBcdWFjMWNcdWFjMDAgXHViMTkzXHVjNWVjIFx1Yzc4OFx1YjJlNC4gXHViYWE4XHViNGUwIFx1YjNkOVx1YzgwNFx1Yzc0MCBcdWFjYTlcdWM3OTBcdWM4MTAgXHVjNzA0XHVjNWQwIFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkMzdjXHVjOTkwXHVjNzU4IFx1YmFhOVx1ZDQ1Y1x1YjI5NCBcdWNkNWNcdWMxOGMgXHVhYzFjXHVjMjE4XHVjNzU4IFx1YjNkOVx1YzgwNFx1Yzc0NCBcdWM2MmVcdWFjYThcdWMxMWMgXHVjMGM4XHViODVjXHVjNmI0IFx1YmFhOFx1YzU5MVx1Yzc0NCBcdWI5Y2NcdWI0ZGNcdWIyOTQgXHVhYzgzXHVjNzc0XHViMmU0LiBcdWIzZDlcdWM4MDRcdWM3NDQgXHVjNjJlXHVhZTM4IFx1YjU0Y1x1YjI5NCBcdWQ1NWMgXHViYzg4XHVjNWQwIFx1ZDU1YyBcdWFjMWNcdWM1MjksIFx1YjNkOVx1YzgwNFx1Yzc0NCBcdWI0ZTRcdWM1YjRcdWMxMWMgXHViZTQ4IFx1YWNhOVx1Yzc5MFx1YzgxMFx1YzVkMCBcdWIxOTNcdWM3M2NcdWJhNzQgXHViNDFjXHViMmU0LiBcdWMwYzhcdWI4NWNcdWM2YjQgXHViYWE4XHVjNTkxXHVjNzc0IFx1YjljY1x1YjRlNFx1YzViNFx1YzljMFx1YjI5NCBcdWM3MDRcdWNlNThcdWIyOTQgXHVjNWI0XHViNTE0XHViNGUwIFx1YzBjMVx1YWQwMFx1YzVjNlx1YzljMFx1YjljYywgXHVkNjhjXHVjODA0XHViNDFjIFx1YmFhOFx1YzU5MVx1Yzc3NFx1YjA5OCBcdWIzMDBcdWNlNmRcdWI0MWMgXHViYWE4XHVjNTkxXHVjNzQ0IFx1YjljY1x1YjRkY1x1YjI5NCBcdWFjODNcdWM3NDAgXHVjNzc4XHVjODE1XHViNDE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCwgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWI0NTAgXHVhYzAwXHVjOWMwIFx1YjNkOVx1YzgwNFx1Yzc1OCBcdWJjMzBcdWNlNThcdWI5N2MgXHVjMGRkXHVhYzAxXHVkNTU4XHVjNzkwLjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcL2ZmN2U5MDA2LTJhMzUtNGE2ZS04OTgyLWU5ODk2Mjk1ZWI1YVwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogNzAwcHg7IGhlaWdodDogMzUwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHViYzMwXHVjZTU4XHVjNWQwXHVjMTFjIFx1YjQ1MCBcdWJjODhcdWM5ZjggXHViYzMwXHVjZTU4XHViODVjIFx1YjljY1x1YjRlNFx1YWUzMCBcdWM3MDRcdWQ1NzRcdWMxMWNcdWIyOTQgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc3NCBcdWNkNWNcdWMxOGMgXHViMTI0IFx1YWMxY1x1Yzc1OCBcdWIzZDlcdWM4MDRcdWM3NDQgXHVjNjJlXHVhY2E4XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC81NTY1YjcxMC1iMGE4LTQzOGQtOWYyNS1hYjY1MGFmNDQwYmRcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDQ1NXB4OyBoZWlnaHQ6IDM1MHB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5cdWQ2MDRcdWM3YWMgXHViM2Q5XHVjODA0XHVjNzU4IFx1YmMzMFx1Y2U1OFx1YzY0MCBcdWI5Y2NcdWI0ZTRcdWM1YjRcdWM1N2MgXHVkNTU4XHViMjk0IFx1YjNkOVx1YzgwNFx1Yzc1OCBcdWJjMzBcdWNlNThcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM4IFx1YjU0YywgXHVjNjJlXHVhY2E4XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWIzZDlcdWM4MDRcdWM3NTggXHVhYzFjXHVjMjE4XHViMjk0IFx1Y2Q1Y1x1YzE4YyBcdWJhODcgXHVhYzFjXHVjNzc4XHVjOWMwIFx1YWQ2Y1x1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzgxNVx1YzIxOCAkSF8xJCwgJFdfMSRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAoJDFcXGxlIEhfMSxXXzFcXGxlIDEwJCk8XC9wPlxyXG5cclxuPHA+XHVhZGY4XHViMmU0XHVjNzRjIFx1YzkwNFx1YmQ4MFx1ZDEzMCAkSF8xJFx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVhZTM4XHVjNzc0ICRXXzEkXHVjNzU4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICZsc3F1bzs8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+LjxcL2NvZGU+PFwvc3Bhbj4mcnNxdW87XHVjNzQwIFx1YmU0OFx1Y2U3OCwgJmxzcXVvOzxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5PPFwvY29kZT48XC9zcGFuPiZyc3F1bztcdWIyOTQgXHViM2Q5XHVjODA0XHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWNlNzhcdWM3NzRcdWIyZTQuIFx1ZDYwNFx1YzdhYyBcdWIzZDlcdWM4MDRcdWM3NTggXHViYzMwXHVjZTU4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhZGY4XHViMmU0XHVjNzRjIFx1YzkwNFx1YzVkMCBcdWM4MTVcdWMyMTggJEhfMiQsICRXXzIkXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKCQxXFxsZSBIXzIsV18yXFxsZSAxMCQpPFwvcD5cclxuXHJcbjxwPlx1YWRmOFx1YjJlNFx1Yzc0YyBcdWM5MDRcdWJkODBcdWQxMzAgJEhfMiRcdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWUzOFx1Yzc3NCAkV18yJFx1Yzc1OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAmbHNxdW87PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPi48XC9jb2RlPjxcL3NwYW4+JnJzcXVvO1x1Yzc0MCBcdWJlNDhcdWNlNzgsICZsc3F1bzs8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+TzxcL2NvZGU+PFwvc3Bhbj4mcnNxdW87XHViMjk0IFx1YjNkOVx1YzgwNFx1Yzc3NCBcdWM3ODhcdWIyOTQgXHVjZTc4XHVjNzc0XHViMmU0LiBcdWI5Y2NcdWI0ZTRcdWM1YjRcdWM1N2MgXHVkNTU4XHViMjk0IFx1YjNkOVx1YzgwNFx1Yzc1OCBcdWJjMzBcdWNlNThcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWI0NTAgXHViYzMwXHVjZTU4XHVjNzU4IFx1YjNkOVx1YzgwNFx1Yzc1OCBcdWFjMWNcdWMyMThcdWIyOTQgXHViM2Q5XHVjNzdjXHVkNTY4XHVjNzc0IFx1YmNmNFx1YzdhNVx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWM2MmVcdWFjYThcdWM1N2MgXHVkNTU4XHViMjk0IFx1YjNkOVx1YzgwNFx1Yzc1OCBcdWNkNWNcdWMxOGMgXHVhYzFjXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyNzkyMSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkNvaW4gUHV6emxlIiwiZGVzY3JpcHRpb24iOiI8cD5MZXQmcnNxdW87cyBzb2x2ZSBhIGNvaW4gcHV6emxlISBJbml0aWFsbHksIHRoZXJlIGFyZSBzb21lIGNvaW5zIG9uIGFuIGluZmluaXRlIGdyaWQgcGxhbmUsIGFuZCB0aGUgY29pbnMgYXJlIHBsYWNlZCBvbiBncmlkIHBvaW50cy48XC9wPlxyXG5cclxuPHA+VGhlIGdvYWwgb2YgdGhlIHB1enpsZSBpcyB0byBjcmVhdGUgYSB0YXJnZXQgc2hhcGUgYnkgbW92aW5nIGFzIGZldyBjb2lucyBhcyBwb3NzaWJsZS4gVG8gbW92ZSBhIGNvaW4sIHBpY2sgaXQgdXAgYW5kIHBsYWNlIGl0IG9uIGFuIGVtcHR5IGdyaWQgcG9pbnQsIG9uZSBhdCBhIHRpbWUuIEl0IGRvZXNuJiMzOTt0IG1hdHRlciB3aGVyZSB5b3UgY3JlYXRlIHRoZSB0YXJnZXQgc2hhcGUgb24gdGhlIHBsYW5lLCBidXQgbWFraW5nIGEgcm90YXRlZCBvciBtaXJyb3JlZCBzaGFwZSBpcyBub3QgYWNjZXB0ZWQuPFwvcD5cclxuXHJcbjxwPkZvciBleGFtcGxlLCBjb25zaWRlciB0aGUgZm9sbG93aW5nIHR3byBhcnJhbmdlbWVudHMgb2YgY29pbnMuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvZmY3ZTkwMDYtMmEzNS00YTZlLTg5ODItZTk4OTYyOTVlYjVhXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiA3MDBweDsgaGVpZ2h0OiAzNTBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+VG8gY3JlYXRlIHRoZSBzZWNvbmQgc2hhcGUgZnJvbSB0aGUgZmlyc3Qgc2hhcGUsIHlvdSBuZWVkIHRvIG1vdmUgYXQgbGVhc3QgZm91ciBjb2lucyBsaWtlIGJlbG93LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzU1NjViNzEwLWIwYTgtNDM4ZC05ZjI1LWFiNjUwYWY0NDBiZFwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogNDU1cHg7IGhlaWdodDogMzUwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPkdpdmVuIHRoZSBjdXJyZW50IHNoYXBlIGFuZCB0aGUgdGFyZ2V0IHNoYXBlIG9mIHRoZSBjb2lucywgcHJpbnQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGNvaW5zIHRvIG1vdmUgdG8gY3JlYXRlIHRoZSB0YXJnZXQgc2hhcGUgZnJvbSB0aGUgY3VycmVudCBzaGFwZS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBpbnB1dCBkYXRhIGNvbnRhaW5zIHR3byBpbnRlZ2VycyAkSF8xJCBhbmQgJFdfMSQgJm1kYXNoOyB0aGUgaGVpZ2h0IGFuZCB3aWR0aCBvZiB0aGUgY3VycmVudCBzaGFwZS4gKCQxXFxsZSBIXzEsV18xXFxsZSAxMCQpXHUyMDBhPFwvcD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIGZvbGxvd2luZyAkSF8xJCBsaW5lcyBjb250YWlucyBhIHN0cmluZyBvZiBsZW5ndGggJFdfMSQsIHdoaWNoIHJlcHJlc2VudCB0aGUgY3VycmVudCBzaGFwZS4gVGhlIHN0cmluZ3MgY29udGFpbiBvbmx5ICZsc3F1bzs8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+LjxcL2NvZGU+PFwvc3Bhbj4mcnNxdW87IGFuZCAmbHNxdW87PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPk88XC9jb2RlPjxcL3NwYW4+JnJzcXVvOyAmbWRhc2g7ICZsc3F1bzs8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+LjxcL2NvZGU+PFwvc3Bhbj4mcnNxdW87IG1lYW5zIGEgZ3JpZCBwb2ludCB3aXRob3V0IGEgY29pbiBhbmQgJmxzcXVvOzxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5PPFwvY29kZT48XC9zcGFuPiZsc3F1bzsgbWVhbnMgdGhhdCB3aXRoIGEgY29pbi48XC9wPlxyXG5cclxuPHA+VGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIHR3byBpbnRlZ2VycyAkSF8yJCBhbmQgJFdfMiQgJm1kYXNoOyB0aGUgaGVpZ2h0IGFuZCB3aWR0aCBvZiB0aGUgdGFyZ2V0IHNoYXBlLiAoJDFcXGxlIEhfMixXXzJcXGxlIDEwJClcdTIwMGE8XC9wPlxyXG5cclxuPHA+RWFjaCBvZiB0aGUgZm9sbG93aW5nICRIXzIkIGxpbmVzIGNvbnRhaW5zIGEgc3RyaW5nIG9mIGxlbmd0aCAkV18yJCwgd2hpY2ggcmVwcmVzZW50IHRoZSB0YXJnZXQgc2hhcGUuIFRoZSBzdHJpbmdzIGNvbnRhaW4gb25seSAmbHNxdW87PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPi48XC9jb2RlPjxcL3NwYW4+JnJzcXVvOyBhbmQgJmxzcXVvOzxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5PPFwvY29kZT48XC9zcGFuPiZyc3F1bzsgJm1kYXNoOyAmbHNxdW87PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPi48XC9jb2RlPjxcL3NwYW4+JnJzcXVvOyBtZWFucyBhIGdyaWQgcG9pbnQgd2l0aG91dCBhIGNvaW4gYW5kICZsc3F1bzs8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+TzxcL2NvZGU+PFwvc3Bhbj4mbHNxdW87IG1lYW5zIHRoYXQgd2l0aCBhIGNvaW4uPFwvcD5cclxuXHJcbjxwPlRoZSBudW1iZXIgb2YgY29pbnMgaW4gdGhlIHR3byBzaGFwZXMgaXMgZ3VhcmFudGVlZCB0byBiZSB0aGUgc2FtZS48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5QcmludCB0aGUgbWluaW11bSBudW1iZXIgb2YgY29pbnMgdG8gbW92ZSB0byBjcmVhdGUgdGhlIHRhcmdldCBzaGFwZSBmcm9tIHRoZSBjdXJyZW50IHNoYXBlLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=