페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
당신은 조립 라인이 두 개 있는 공장을 소유하고 있다. 첫 번째 조립 라인은 상자를 만들고, 두 번째 조립 라인은 그 상자에 넣을 장난감을 만든다. 각 상자 종류에는 한 종류의 장난감이 대응하며, 그 반대도 마찬가지이다.
처음에 첫 번째 조립 라인에서 상자 하나를 집고 두 번째 조립 라인에서 장난감 하나를 집는다. 그런 다음 몇 가지 선택을 할 수 있다.
언제든지 상자를 버리고 다음 상자를 집을 수 있다.
언제든지 장난감을 버리고 다음 장난감을 집을 수 있다.
상자와 장난감의 종류가 같다면 장난감을 상자에 넣어 고객에게 보낼 수 있다. 상자는 언제나 만들어진 순서대로 집으며, 장난감도 마찬가지이다. 상자와 장난감이 만들어지는 순서를 알고 있으며, 가능한 한 많은 상자에 담긴 장난감을 고객에게 보낼 수 있는 전략을 세우려고 한다.
경고: 두 조립 라인은 매우 많은 상자와 장난감을 만든다. 하지만 종류를 바꾸기 전까지 오랫동안 한 종류의 물건을 만드는 경향이 있다.
메모리 제한: 1GB. 시간 제한: 테스트 세트당 30초. 1 ≤ T ≤ 100. 1 ≤ , ≤ . 1 ≤ , ≤ 100.
1 ≤ N ≤ 3. 1 ≤ M ≤ 100.
1 ≤ N, M ≤ 100.
입력의 첫 번째 줄에는 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다.
각 테스트 케이스는 두 정수 N과 M이 담긴 줄로 시작한다. 이어서 2 * N개의 정수 , , , , ..., , 이 담긴 한 줄과, 2 * M개의 정수 , , , , ..., , 이 담긴 또 다른 한 줄이 주어진다.
이는 첫 번째 조립 라인이 종류의 상자 개를 만들고, 그다음 종류의 상자 개를 만드는 식으로 계속하여, 마지막으로 종류의 상자 개를 만든다는 뜻이다. 마찬가지로 두 번째 조립 라인은 종류의 장난감 개를 만들고, 이어서 종류의 장난감 개를 만드는 식으로 계속하여, 마지막으로 종류의 장난감 개를 만든다.
장난감과 상자는 종류 번호가 같을 때, 그리고 그럴 때에만 서로 짝지을 수 있다.
각 테스트 케이스마다 "Case #x: y"을 담은 한 줄을 출력한다. 여기서 x는 1부터 시작하는 케이스 번호이고, y는 고객에게 보낼 수 있는 상자에 담긴 장난감 수의 최댓값이다.
4
3 3
10 1 20 2 25 3
10 2 30 3 20 1
3 5
10 1 6 2 10 1
5 1 3 2 10 1 3 2 5 1
3 5
10 1 6 2 10 1
5 1 6 2 10 1 6 2 5 1
1 1
5000000 10
5000000 100
Case #1: 35
Case #2: 20
Case #3: 21
Case #4: 0
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.