혼잡한 네트워크
시간 제한1초메모리 제한128 MB
노드가 40개 이하인 연결 그래프마다 임의의 두 노드 사이에서 서로 다른 간선만 쓰는 경로의 최대 개수를 구한다.
문제
양방향 통신이 가능한 연결된 컴퓨터 네트워크가 주어진다. 서로 다른 두 노드 와 를 골라, 이 둘 사이로 바이러스를 끊임없이 주고받을 때의 혼잡도(congestion)를 최대로 만들고자 한다. 두 노드 와 사이의 혼잡도는, 두 노드를 잇는 서로소 간선 경로(edge-disjoint path, 서로 겹치는 간선이 없는 경로)의 최대 개수로 정의한다.
예를 들어 아래 그림의 네트워크에서는 노드 0과 노드 6 사이에, 사용하는 간선이 서로 겹치지 않는 세 개의 경로가 존재한다. 서로 다른 두 경로가 같은 노드(예: 노드 7)를 함께 지나는 것은 허용된다. 다른 어떤 노드 쌍도 이보다 더 높은 혼잡도를 만들 수 없다.

입력
입력은 각각 개의 노드를 가진, 연결된 컴퓨터 네트워크들의 수열이다. 노드는 로 번호가 매겨지며 이다.
각 네트워크의 명세는 다음과 같다. 첫 줄에는 노드의 개수를 나타내는 음이 아닌 정수 이 주어진다. 이어서 개의 줄이 주어지며, 그중 번째 줄에는 노드 의 이웃(0부터 시작하는 번호)들이 공백으로 구분되어 나열된다.
마지막 네트워크 다음에는 인 네트워크가 주어지며, 이 네트워크는 처리하지 않는다. 네트워크는 최대 2000개까지 주어질 수 있다.
출력
각 입력 네트워크에 대해, 그 네트워크에서 어떤 노드 쌍이 만들 수 있는 최대 혼잡도를 정수 하나로 한 줄에 출력한다.