만드는 중입니다

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

속임수 전쟁 (작은 입력)

시간 제한5초메모리 제한512 MB

요약
양쪽 블록 무게가 주어질 때 정직한 War와 속임수가 허용된 Deceitful War에서 Naomi가 얻는 최적 점수를 구합니다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 게임 이론
정답자
아직 제출이 없습니다

문제

나오미와 켄은 겉모습이 똑같은 나무 블록을 NN개씩 가지고 있다. 블록의 무게는 모두 0.0kg보다 크고 1.0kg보다 작으며, 두 사람이 가진 2N2N개 블록의 무게는 전부 다르다.

두 사람이 하는 게임 "전쟁"의 규칙은 다음과 같다.

  1. 각자 자기 블록의 무게를 모두 재 본다. 자기 블록의 무게는 알지만 상대 블록의 무게는 모른다.
  2. 다음 과정을 NN번 반복한다.
    1. 나오미가 자기 블록 하나를 고른다. 그 무게를 ChosenNaomi라고 하자.
    2. 나오미가 켄에게 ChosenNaomi를 알려 준다.
    3. 켄이 자기 블록 하나를 고른다. 그 무게를 ChosenKen이라고 하자.
    4. 두 블록을 양팔저울 양쪽에 올리고, 더 무거운 블록을 낸 사람이 1점을 얻는다.
    5. 두 블록은 불에 타 사라진다.

켄에게는 상대 전략을 전혀 가정하지 않고 자기 점수를 최대로 만드는 전략이 하나뿐이고, 켄은 언제나 그 전략을 따른다.

나오미는 전쟁 대신 "속임수 전쟁"을 하기로 했다. 켄은 여전히 전쟁을 하는 줄 안다. 전쟁과 달라지는 부분은 두 가지다.

  1. 나오미는 켄이 보지 않을 때 켄의 블록 무게까지 미리 재 두었다. 그래서 나오미는 2N2N개 블록의 무게를 전부 알고, 켄은 자기 블록의 무게만 안다.
  2. 나오미는 자기가 고른 블록의 무게를 말하는 대신, 0.0kg보다 크고 1.0kg보다 작은 수 ToldNaomi를 하나 말한다. 켄은 그 수를 ChosenNaomi로 받아들인다.

저울 결과가 거짓말을 드러내면 안 되므로, 나오미는 매 판마다 다음 두 조건을 지켜야 한다.

  • ChosenNaomi > ChosenKen인 것과 ToldNaomi > ChosenKen인 것이 서로 같은 조건이어야 한다.
  • ToldNaomi는 켄이 가진 어떤 블록의 무게와도 같으면 안 된다. 무게가 같은 블록은 없다는 사실을 켄도 알기 때문이다.

나오미는 켄이 무엇을 아는지, 켄이 전쟁의 최적 전략을 어떻게 쓰는지를 모두 알고 있으므로 켄이 낼 블록을 항상 예측한다.

두 사람이 처음에 가진 블록의 무게가 주어진다. 나오미가 속임수 전쟁을 최적으로 했을 때 얻는 점수와, 대신 전쟁을 최적으로 했을 때 얻는 점수를 구하라. 켄은 두 경우 모두 두 사람이 전쟁을 한다고 믿고 자기 점수를 최대로 만든다.

설명을 위한 상황을 두 개 들면 다음과 같다.

블록이 하나씩 남았고 나오미가 0.5kg, 켄이 0.6kg를 가지고 있다면 점수는 켄이 가져간다. 나오미가 0.6kg 이상을 말하면 저울이 켄 쪽으로 기울 때 켄이 속임수를 알아채기 때문이다.

블록이 두 개씩 남았고 나오미가 0.7kg와 0.2kg를, 켄이 0.8kg와 0.3kg를 가지고 있다면, 나오미는 0.2kg 블록을 내면서 0.6kg짜리를 골랐다고 말할 수 있다. 켄은 그 말을 믿고 0.8kg 블록을 내서 1점을 얻는다. 저울은 켄이 예상한 대로 켄 쪽으로 기울므로 켄은 속은 줄 끝까지 모른다. 다음 판에서 나오미는 0.7kg 블록을 내면서 0.7kg라고 사실대로 말하고 1점을 얻는다. 나오미가 전쟁을 했다면 켄이 2점, 나오미가 0점이었다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 두 사람이 각각 가진 블록의 개수 NN이 주어진다. 그다음 줄에는 나오미가 가진 블록 NN개의 무게가 공백으로 구분되어 주어지고, 마지막 줄에는 켄이 가진 블록 NN개의 무게가 같은 방식으로 주어진다.

무게는 모두 0 다음에 소수점이 오고 그 뒤에 숫자가 1자리 이상 5자리 이하로 붙은 형태로 주어진다. 입력에 나오는 수가 소수점 아래 5자리 이하라는 사실을 켄과 나오미는 모른다. 그래서 나오미는 0.5000001kg짜리 블록을 냈다고 말해도 되고, 켄에게는 그 말을 의심할 이유가 없다.

  • 1≤T≤501 \le T \le 50
  • 1≤N≤101 \le N \le 10
  • 두 사람에게 주어진 2N2N개 무게는 모두 서로 다르고, 0.0보다 크고 1.0보다 작다.

출력

각 테스트 케이스마다 Case #x: y z 형식으로 한 줄씩 출력한다. xx는 테스트 케이스 번호로 1부터 시작한다. yy는 나오미가 속임수 전쟁을 최적으로 했을 때 얻는 점수, zz는 나오미가 전쟁을 최적으로 했을 때 얻는 점수이다.

예제2

  1. 예제 1

    입력
    4
    1
    0.5
    0.6
    2
    0.7 0.2
    0.8 0.3
    3
    0.5 0.1 0.9
    0.6 0.4 0.3
    9
    0.186 0.389 0.907 0.832 0.959 0.557 0.300 0.992 0.899
    0.916 0.728 0.271 0.520 0.700 0.521 0.215 0.341 0.458
    
    예상 출력
    Case #1: 0 0
    Case #2: 1 0
    Case #3: 2 1
    Case #4: 8 4
    
  2. 예제 2

    입력
    2
    1
    0.9
    0.1
    1
    0.00001
    0.99999
    
    예상 출력
    Case #1: 1 1
    Case #2: 0 0