이중 완전순열
면접 대비시간 제한1초메모리 제한1024 MB
길이 N(16 이하)인 순열 a와 b가 주어질 때, 모든 i에 대해 c_i가 a_i, b_i와 모두 다른 순열 c의 개수를 구합니다.
문제
두 순열 와 가 주어진다. 두 순열의 길이는 모두 이고, 각각 범위의 모든 정수를 정확히 한 번씩 포함한다. 길이가 이고 범위의 모든 정수를 포함하는 새로운 순열 를 만들어라. 모든 인덱스 (부터 시작)에 대해 다음 조건을 만족해야 한다.
즉, 같은 인덱스에서 는 나 와 같을 수 없다. 와 가 주어졌을 때, 이 조건을 만족하는 순열 의 개수를 구하라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다.
각 테스트 케이스는 다음과 같다. 첫 줄에 순열의 길이 이 주어진다. 다음 줄에 순열 의 개 정수가 공백으로 구분되어 주어지며, 번째 정수가 이다. 그다음 줄에 순열 의 개 정수가 공백으로 구분되어 주어지며, 번째 정수가 이다.
제약: , , . 각 순열 안의 값은 모두 서로 다르다. 모든 테스트 케이스의 합은 이하이다.
출력
각 테스트 케이스마다 조건을 만족하는 순열 의 개수를 출력한다.
힌트
오버플로를 막기 위해 32비트 정수형보다 큰 자료형을 써야 할 수도 있다.