램프
시간 제한1초메모리 제한256 MB
길이 N인 이진 문자열 A와 B가 주어질 때, 구간을 0으로 만들거나 1로 만들거나 뒤집는 연산으로 A를 B로 바꾸는 최소 횟수를 구합니다.
문제
긴 복도에 개의 램프가 일렬로 나열되어 있다. 램프는 왼쪽부터 차례로 1번부터 번까지 번호가 붙어 있다. 각 램프는 off 또는 on 중 하나의 상태이다.
램프의 상태를 바꾸는 특별한 기작이 있어서, 한 번의 작업으로 다음 세 가지 동작 중 한 가지를 할 수 있다.
- 을 만족하는 정수 와 를 골라 , , , 를 off 상태로 만든다.
- 을 만족하는 정수 와 를 골라 , , , 를 on 상태로 만든다.
- 을 만족하는 정수 와 를 골라 , , , 의 상태를 바꾼다(off는 on으로, on은 off로).
처음 램프의 상태는 길이 의 문자열 로 표현된다. 의 번째() 문자가 0이면 번째 램프가 off 상태이고, 1이면 on 상태이다. 만들고 싶은 상태는 길이 의 문자열 로 나타내며, 같은 규칙으로 읽는다. 작업 수를 최소로 하여 의 상태를 만들고 싶다.
램프의 수, 현재 상태, 만들고 싶은 상태가 주어졌을 때, 그 상태로 바꾸는 데 드는 연산 수의 최솟값을 출력하여라.
입력
첫째 줄에 이 주어진다. 둘째 줄에 가 주어진다. 셋째 줄에 가 주어진다.
출력
원하는 상태를 만들기 위한 연산 수의 최솟값을 한 줄에 출력한다.
제한
- .
- 와 는 길이 의 문자열이다.
- 와 를 이루는 문자는
0또는1이다.