ez_code   1년 전

문제

당신은 1부터 4까지 숫자로 된 각 숫자가 고유한 키와 연결된 숫자 키패드를 만들고 있습니다. 모든 키는 2 x 2 행렬 형태로 정렬되어 있고, 키패드 아래에 탐지 회로가 있습니다. 키를 누르면, 회로는 입력 신호를 입력한 열의 번호와 행의 번호로 받는 컨트롤러에 전달합니다. 한 번의 입력을 (열, 행) 쌍으로 나타낼 수 있습니다. 보다 엄밀히 말하면, i ∈ {1, 2, 3, 4}인 숫자 i를 누르면 컨트롤러는 쌍 (⌊(i − 1)/2⌋,(i − 1) mod 2)를 입력 받습니다. 예를 들어 당신이 3번 키를 눌렀다면, 컨트롤러는 (1, 0)을 입력 신호로 받을 것입니다. 당신은 모종의 이유로 여러 개의 키를 동시에 누르려 합니다. 이 경우에도 컨트롤러는 해당하는 열/행의 번호를 입력 받을 수 있습니다. 하지만 열의 번호와 행의 번호가 모두 섞입니다. 예를 들어, 당신이 1번 키와 4번 키를 동시에 누르면 컨트롤러는 1번 키가 내는 신호 (0, 0)과 4번 키가 내는 신호 (1,1)을 모두 받아 결과적으로 열의 번호 {0, 1}과 행의 번호 {0, 1}을 입력 받습니다. 또 다른 예시로 당신이 1번 키와 2번 키를 동시에 누르면, 1번 키가 내는 신호 (0, 0)과 2번 키가 내는 신호 (0, 1)이 입력되는데 이때 두 경우의 열의 번호가 같으므로 컨트롤러는 ({0}, {0, 1})을 입력 받습니다. 서로 다른 입력 조합이 같은 신호로 이어질 수 있음에 유의합시다. 2번 키와 3번 키를 누르면 ({0, 1}, {0, 1})이 신호로 입력되는데, 이는 1번 키와 4번 키를 누르는 경우와 같습니다. 1, 2, 3, 4번 키를 모두 동시에 누르는 것도 같은 결과를 불러옵니다. (열, 행) 쌍으로 주어진 입력 신호가 주어질 때, 이 신호를 생성할 수 있는 가능한 모든 입력 조합의 수를 계산하는 프로그램을 작성합시다.

입력

첫 줄에 테스트 케이스의 수를 나타내는 양의 정수가 주어집니다. 각각의 테스트 케이스는 이전 테스트 케이스의 바로 다음 줄에 이어집니다. 각 테스트 케이스의 첫 줄은 두 양의 정수 m과 n으로 이루어져 있습니다. 두 번째 줄에는 입력 받은 열의 번호를 나타내는 m개의 정수가 입력됩니다. 셋째 줄에는 입력 받은 행의 번호를 나타내는 n개의 정수가 주어집니다. 같은 줄에 있는 모든 수는 공백으로 구분됩니다.

출력

각 테스트 케이스에 대해 한 줄에 결과를 출력합니다.

댓글을 작성하려면 로그인해야 합니다.