안전 등급
시간 제한1초메모리 제한128 MB
다중 간선을 가진 그래프에서 연결되어 있지 않거나 정점이 0,1개면 0이고 아니면 최소 절단 간선 수(엣지 연결도)를 구하는 문제입니다.
문제
케이블 네트워크의 여러 지점(site)이 케이블로 서로 연결되어 있습니다. 하나의 케이블은 서로 다른 두 지점을 연결하며, 같은 두 지점 사이에 여러 개의 케이블이 있을 수도 있습니다. 네트워크 안의 임의의 두 지점이 직접 또는 간접적으로 연결되어 있으면 그 네트워크는 연결되어 있다고 하고, 그렇지 않으면 분리되어 있다고 합니다. 네트워크의 안전 등급 는 다음과 같이 정의됩니다.
- 네트워크가 분리되어 있거나 지점의 수가 개 또는 개이면 입니다.
- 지점의 수가 보다 크면, 는 제거했을 때 네트워크를 분리시키는 케이블의 최소 개수입니다. 즉, 어떤 개의 케이블을 제거해도 네트워크는 연결된 상태로 남지만, 적절한 개의 케이블을 제거하면 네트워크가 분리됩니다.
예를 들어, 지점 로 이루어지고 케이블이 (두 개), , (두 개), , (두 개)인 네트워크를 생각해 봅시다. 이 네트워크는 어떤 케이블 하나를 제거해도 연결된 상태를 유지하지만, 케이블 와 을 제거하면 분리됩니다. 또 다른 방법으로는 케이블 두 개를 모두 제거하는 것이 있습니다. 따라서 이 네트워크의 안전 등급은 입니다.
여러 개의 데이터 집합을 읽어 각 데이터 집합이 나타내는 케이블 네트워크의 안전 등급을 계산하는 프로그램을 작성하세요.
입력
각 데이터 집합은 두 정수로 시작합니다. 네트워크의 지점 수 과 케이블 수 입니다. 이어서 개의 데이터 쌍 가 주어지며, 이고 와 는 지점 번호(부터 까지의 정수)입니다. 쌍 는 지점 와 를 연결하는 케이블을 나타냅니다. 쌍은 임의의 순서로 나타날 수 있습니다. 공백을 포함하지 않는 쌍을 제외하면, 입력의 어디에나 공백이 자유롭게 나타날 수 있습니다. 입력은 파일의 끝(EOF)에서 종료되며, 입력 데이터는 항상 올바릅니다.
출력
각 데이터 집합에 대해, 인코딩된 네트워크의 안전 등급을 한 줄의 시작 위치에 출력하세요.
힌트
예시에서 첫 번째 데이터 집합은 빈 네트워크를, 두 번째는 지점 2개와 케이블 1개로 이루어진 네트워크를, 세 번째는 지점 2개로 이루어진 분리된 네트워크를, 네 번째는 위에서 설명한 다섯 지점짜리 네트워크를 나타냅니다.