팀의 난이도
시간 제한1초메모리 제한128 MB
그래프에서 유도된 변의 개수와 정점 개수의 비율이 최대가 되는 부분집합을 찾아 그 값을 최소 기약분수로 출력하는 문제로, 이분 탐색과 최대 흐름을 이용한 최대 밀도 부분그래프 기법이 필요합니다.
문제
상근이는 한 중소기업의 CEO다. 회사의 소유주는 자신의 아들 정인이를 팀장으로 임명했고, 상근이는 정인이가 좋은 성과를 내면 소유주가 CEO 자리를 정인이에게 넘길 것이라고 생각한다. 다행히 상근이는 정인이의 팀에 누구를 넣을지 직접 정할 수 있어서, 정인이가 최대한 성과를 내기 어려운 팀을 만들려고 한다.
상근이는 같은 팀에 두면 서로 협업이 잘 되지 않는 사람들의 쌍을 모두 알고 있다. 어떤 팀의 난이도는 그 팀 안에서 협업이 잘 되지 않는 쌍의 수를 팀원 수로 나눈 값으로 정의한다. 난이도가 높을수록 팀을 관리하기 어렵다.
가능한 모든 팀 중에서 난이도의 최댓값을 구하는 프로그램을 작성하시오. 팀은 최소 한 명 이상으로 구성되며, 한 명뿐인 팀의 난이도는 0이다.
예를 들어 난이도가 가장 높은 팀이 1, 2, 4, 5로 이루어진 경우, 이 팀 안에는 협업이 잘 되지 않는 쌍이 5개 있고 팀원은 4명이므로 난이도는 5/4다. 여기에 3을 추가하면 쌍은 6개, 팀원은 5명이 되어 난이도가 6/5로 오히려 낮아진다.
입력
첫째 줄에 직원 수 과 같은 팀에 두면 협업이 잘 되지 않는 쌍의 수 이 주어진다. (, )
다음 개 줄에는 각 쌍을 이루는 두 사람의 번호 와 가 주어진다. (, ) 같은 쌍이 두 번 주어지는 경우는 없다.
출력
가능한 모든 팀에 대한 난이도의 최댓값을 기약분수 p/q 꼴로 한 줄에 출력한다. 여기서 는 그 팀 안에서 협업이 잘 되지 않는 쌍의 수, 는 팀원 수이며, 와 의 최대공약수는 1이다.
어떤 팀도 협업이 잘 되지 않는 쌍을 하나도 갖지 않는 경우(난이도의 최댓값이 0인 경우)에는 0/1을 출력한다.