격자 막기

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

요약
2xN 격자에서 1이 적힌 칸만 지나는 경로로 (1,1)에서 (2,N)까지 갈 수 없게 만들기 위해 지워야 하는 1의 최소 개수를 구한다.
난이도

보통10점 중 6점

유형
최소 신장 트리, 그래프, 그리디
정답자
아직 제출이 없습니다

문제

여러분에게 2×N2\times N 격자가 주어집니다. 이때 이 격자에서 ii행 jj열의 칸을 (i,j)(i, j)로 표시합니다. 격자의 각 칸에는 00 또는 11의 숫자가 적혀 있습니다.

이때, (1,1)(1,1)에서 상하좌우로 인접한 칸으로 이동하는 것만을 반복하여 (2,N)(2,N)으로 이동하는 방법 중 11이 적힌 칸만 지나가는 방법이 없는 경우, 격자가 막혀 있다고 합니다.

여러분은 다음 연산을 가능한 한 적은 횟수로 사용하여 격자를 막혀 있는 상태로 만들어야 합니다.

  •  (1,1)(1, 1)과 (2,N)(2, N)을 제외한 칸들 중 11이 적힌 한 칸을 골라 11을 지우고 00을 새로 적습니다.

격자를 막혀 있는 상태로 만들기 위해 필요한 연산의 최소 횟수를 구하는 프로그램을 작성해 주세요.

입력

첫 번째 줄에 정수 NN이 주어집니다.

두 번째 줄에는 격자의 첫 번째 행에 적힌 NN개의 정수가 공백으로 구분되어 주어집니다. 다시 말해, 그중 kk번째 정수는 (1,k)(1,k)에 적힌 정수와 같습니다.

세 번째 줄에는 격자의 두 번째 행에 적힌 NN개의 정수가 공백으로 구분되어 주어집니다. 다시 말해, 그중 kk번째 정수는 (2,k)(2,k)에 적힌 정수와 같습니다.

출력

한 줄에 격자를 막혀 있는 상태로 만들기 위해 필요한 연산의 최소 횟수를 출력하세요.

제한

  •  3≤N≤100 0003 \le N \le 100\ 000 
  •  (1,1)(1, 1)와 (2,N)(2, N)에는 모두 11이 적혀 있습니다.

예제2

  1. 예제 1

    입력
    5
    1 0 1 1 1
    1 1 1 0 1
    
    예상 출력
    1
  2. 예제 2

    입력
    5
    1 0 0 1 1
    1 1 1 0 1
    
    예상 출력
    0