오셀로 재배치

길이 N인 W/B 문자열 두 개가 주어질 때, 두 위치 교환과 한 조각 뒤집기 연산만으로 시작 배열을 목표 배열로 바꾸는 최소 연산 횟수를 구한다.

보통5그리디수학문자열아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

로봇을 좋아하는 세희는 로봇 동아리에서 카메라와 센서, 라즈베리 파이, 집게발로 로봇을 만들었다. 세희는 이 로봇으로 오셀로 재배치 작업을 한다. 오셀로 말은 한쪽 면이 검은색, 반대쪽 면이 흰색이다. 세희의 목표는 처음 놓여 있는 말을 주어진 목표 상태와 똑같이 만드는 것이다.

로봇은 다음 두 작업 중 하나를 한 번에 하나씩 할 수 있다.

  1. 놓여 있는 말 중 임의의 두 개를 골라 서로 위치를 바꾼다.
  2. 말 하나를 들어 뒤집어 놓아 색을 바꾼다.
초기 상태목표 상태
WBBWWWBWBW

위 배치에서 세 번째 말과 네 번째 말을 각각 뒤집으면 두 번 만에 목표 상태가 된다. 그런데 두 번 뒤집는 대신 세 번째 말과 네 번째 말의 위치를 서로 바꾸면 한 번 만에 목표 상태에 도달한다.

초기 상태와 목표 상태가 주어질 때, 목표 상태를 만드는 데 필요한 작업의 최소 횟수를 구하는 프로그램을 작성하시오.

입력

입력은 표준 입력으로 주어진다. 첫째 줄에 테스트 데이터의 개수 TT가 주어진다. 각 테스트 데이터의 첫째 줄에는 오셀로 말의 개수 NN (1N1000001 \le N \le 100000)이 주어진다. 둘째 줄에는 초기 상태, 셋째 줄에는 목표 상태가 길이 NN의 문자열로 주어진다. 흰색 면이 보이는 말은 W, 검은색 면이 보이는 말은 B로 나타낸다.

출력

출력은 표준 출력을 사용한다. 각 테스트 데이터마다 초기 상태에서 목표 상태를 만들기 위한 작업의 최소 횟수를 한 줄에 하나씩 출력한다.