만드는 중입니다

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

플러드 필

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

요약
N x M 크기의 흑백 이미지 A와 B가 주어질 때, A에서 연결된 영역의 색을 반복해서 뒤집어 A와 B가 다른 칸의 최소 개수를 구합니다.
난이도

보통10점 중 7점

유형
그래프, BFS, 구현
정답자
아직 제출이 없습니다

문제

두 흑백 이미지 AA와 BB가 주어진다. 두 이미지의 크기는 N×MN \times M이다.

"플러드 필" 도구는 다음과 같이 동작한다. 임의의 칸 (x,y)(x, y)를 고르면 그 칸이 속한 연결 요소를 찾고, 그 안의 모든 칸의 색을 뒤집는다. 검은 칸은 흰색이 되고, 흰 칸은 검은색이 된다. 칸의 연결 요소란 색이 바뀌지 않은 상태에서 상하좌우로 이동해 도달할 수 있는 칸들의 집합이다.

이미지 AA에는 플러드 필 도구를 몇 번이든 적용할 수 있다. 여러 번의 연산을 수행한 뒤 AA가 BB와 다른 칸의 수가 가능한 한 최소가 되도록 할 때, 그 최솟값을 구하라.

입력

첫 줄에 두 정수 NN과 MM이 주어진다 (1≤N,M≤1001 \le N, M \le 100). 다음 NN줄에는 이미지 AA의 각 행을 나타내는 길이 MM의 이진 문자열이 주어진다. 이어서 NN줄에는 이미지 BB의 각 행을 나타내는 길이 MM의 이진 문자열이 주어진다. 0은 흰색 칸, 1은 검은색 칸을 뜻한다.

출력

연산을 적절히 수행한 뒤 AA가 BB와 다른 칸 수의 최솟값을 정수 하나로 출력한다.

힌트

첫 번째 예시에서는 가운데 칸에 도구를 두 번 적용할 수 있다. 이렇게 하면 두 이미지는 1개의 칸에서만 다르다.

두 번째 예시에서는 이미지 전체를 검은색으로 만들 수 있다. 이렇게 하면 두 이미지는 7개의 칸에서 다르다.

예제2

  1. 예제 1

    입력
    1 3
    101
    010
    
    예상 출력
    1
    
  2. 예제 2

    입력
    4 4
    0001
    0101
    0101
    0111
    0000
    1110
    1110
    1110
    
    예상 출력
    7