교차 매칭 (Crossed Matchings)
시간 제한 | 메모리 제한 |
1 초 | 128 MB |
문제
양의 정수가 적힌 두 행이 있습니다. 첫 번째 행에 있는 숫자와 두 번째 행에 있는 숫자 중 서로 값이 같은 r인 두 숫자 사이에 선분을 그을 수 있습니다. 이 선분을 r-매칭 선분이라고 부릅니다. 아래 그림은 3-매칭과 2-매칭 선분을 보여줍니다.
주어진 입력에 대해 다음 조건을 만족하면서 그릴 수 있는 최대 매칭 선분의 수를 찾고자 합니다:
1. 각 a-매칭 선분은 정확히 하나의 b-매칭 선분과 교차해야 합니다. 단, a ≠ b입니다.
2. 한 숫자에서 두 개의 매칭 선분을 그릴 수 없습니다. 예를 들어, 다음과 같은 매칭은 허용되지 않습니다.
입력 데이터에 대한 최대 매칭 선분의 수를 계산하는 프로그램을 작성하세요. 이 수는 항상 짝수임을 유의하세요.
입력
파일의 첫 줄은 테스트 케이스의 수 M입니다 (1 ≤ M ≤ 10). 각 테스트 케이스는 세 줄로 구성됩니다. 첫 번째 줄에는 첫 번째 행과 두 번째 행의 정수 개수 N1과 N2가 포함됩니다. 다음 줄에는 첫 번째 행의 N1개 정수가 있습니다. 세 번째 줄에는 두 번째 행의 N2개 정수가 있습니다. 모든 숫자는 100보다 작은 양의 정수입니다.
출력
출력 파일은 각 테스트 케이스에 대해 한 줄씩 별도로 표시해야 합니다. 각 테스트 케이스에 대한 최대 매칭 선분의 수를 별도의 한 줄에 작성해야 합니다.
예제 입력 1
3
6 6
1 3 1 3 1 3
3 1 3 1 3 1
4 4
1 1 3 3
1 1 3 3
12 11
1 2 3 3 2 4 1 5 1 3 5 10
3 1 2 3 2 4 12 1 5 5 3
예제 출력 1
6
0
8