만드는 중입니다

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

오셀로 재배치

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

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

보통10점 중 5점

유형
그리디, 수학, 문자열
정답자
아직 제출이 없습니다

문제

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

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

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

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

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

입력

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

출력

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

예제5

  1. 예제 1

    입력
    3
    5
    WBBWW
    WBWBW
    7
    BBBBBBB
    BWBWBWB
    4
    WWBB
    BBWB
    
    예상 출력
    1
    3
    2
    
  2. 예제 2

    입력
    3
    1
    W
    W
    1
    W
    B
    1
    B
    W
    
    예상 출력
    0
    1
    1
    
  3. 예제 3

    입력
    1
    10
    WBWBWBWBWB
    WBWBWBWBWB
    
    예상 출력
    0
    
  4. 예제 4

    입력
    1
    6
    WWWWWW
    BBBBBB
    
    예상 출력
    6
    
  5. 예제 5

    입력
    1
    6
    WWWBBB
    BBBWWW
    
    예상 출력
    3