N개 국가를 공격국과 평화국으로 나누는 모든 경우에 대해 탱크 게임을 최적으로 두었을 때의 승자를 판정하고, 미르코와 슬라브코의 승리 수를 각각 센다.
어려움8게임 이론조합론시뮬레이션아직 제출이 없습니다시간 제한5초메모리 제한128 MB미르코와 슬라브코는 리스크를 천 번도 넘게 해서, 같은 지도 모양 판에서 하는 새 게임 침략자를 만들고 있다. 판에는 1번부터 N번까지 번호가 붙은 나라 N개가 있고, 어느 나라끼리 이웃인지 정해져 있다. 국경을 맞대지 않은 두 나라도 이웃일 수 있다.
게임을 시작하기 전에 두 사람은 모든 나라에 탱크를 몇 대씩 배치하고, 일부 나라를 침략국으로 정한다. 나머지 나라는 평화국이다. 그다음 미르코와 슬라브코가 한 수씩 번갈아 둔다. 자기 차례에 둘 수 있는 수가 없는 사람이 진다. 미르코가 먼저 둔다.
차례가 오면 다음 두 가지 수 중 하나를 고른다.
공격:
지원:
나라는 어느 쪽의 소유도 아니다. 즉 차례가 온 사람은 규칙만 지킨다면 이웃한 두 나라를 마음대로 고를 수 있다.
판에 나라가 N개 있으므로 나라를 침략국과 평화국으로 나누는 방법은 2N가지다. 두 사람은 각 방법마다 한 판씩 둔다. 둘 다 최적으로 둘 때 이 2N판 중 미르코가 이기는 판이 몇 판이고 슬라브코가 이기는 판이 몇 판인지 구하라.
어떤 방법에서는 누구도 이길 수 없다. 예를 들어 침략국이 하나도 없으면 탱크를 부술 수 없어서 게임이 끝나지 않는다.
첫째 줄에 나라의 수 N (2≤N≤40)이 주어진다.
둘째 줄에 게임을 시작할 때 각 나라에 있는 탱크 수가 1번 나라부터 N번 나라까지 차례대로 주어진다. 모두 40000보다 작은 자연수다.
셋째 줄에 이웃한 나라 쌍의 수 M (1≤M≤780)이 주어진다.
다음 M개 줄에는 서로 이웃인 두 나라의 번호가 각각 주어진다. 같은 쌍이 두 번 이상 나오지는 않는다.
첫째 줄에 미르코가 이기는 판의 수를 출력한다.
둘째 줄에 슬라브코가 이기는 판의 수를 출력한다.
서로 이웃인 나라가 둘뿐이고 두 나라에 탱크가 100대씩 있다고 하자. 네 가지 방법 중 미르코가 두 판, 슬라브코가 한 판을 이긴다.