팀의 난이도

시간 제한1초메모리 제한128 MB

요약
그래프에서 유도된 변의 개수와 정점 개수의 비율이 최대가 되는 부분집합을 찾아 그 값을 최소 기약분수로 출력하는 문제로, 이분 탐색과 최대 흐름을 이용한 최대 밀도 부분그래프 기법이 필요합니다.
난이도

어려움10점 중 8점

유형
그래프, 이분 탐색, 수학
정답자
아직 제출이 없습니다

문제

상근이는 한 중소기업의 CEO다. 회사의 소유주는 자신의 아들 정인이를 팀장으로 임명했고, 상근이는 정인이가 좋은 성과를 내면 소유주가 CEO 자리를 정인이에게 넘길 것이라고 생각한다. 다행히 상근이는 정인이의 팀에 누구를 넣을지 직접 정할 수 있어서, 정인이가 최대한 성과를 내기 어려운 팀을 만들려고 한다.

상근이는 같은 팀에 두면 서로 협업이 잘 되지 않는 사람들의 쌍을 모두 알고 있다. 어떤 팀의 난이도는 그 팀 안에서 협업이 잘 되지 않는 쌍의 수를 팀원 수로 나눈 값으로 정의한다. 난이도가 높을수록 팀을 관리하기 어렵다.

가능한 모든 팀 중에서 난이도의 최댓값을 구하는 프로그램을 작성하시오. 팀은 최소 한 명 이상으로 구성되며, 한 명뿐인 팀의 난이도는 0이다.

예를 들어 난이도가 가장 높은 팀이 1, 2, 4, 5로 이루어진 경우, 이 팀 안에는 협업이 잘 되지 않는 쌍이 5개 있고 팀원은 4명이므로 난이도는 5/4다. 여기에 3을 추가하면 쌍은 6개, 팀원은 5명이 되어 난이도가 6/5로 오히려 낮아진다.

입력

첫째 줄에 직원 수 nn과 같은 팀에 두면 협업이 잘 되지 않는 쌍의 수 mm이 주어진다. (1≤n≤1001 \le n \le 100, 0≤m≤10000 \le m \le 1000)

다음 mm개 줄에는 각 쌍을 이루는 두 사람의 번호 aia_i와 bib_i가 주어진다. (1≤ai,bi≤n1 \le a_i, b_i \le n, ai≠bia_i \ne b_i) 같은 쌍이 두 번 주어지는 경우는 없다.

출력

가능한 모든 팀에 대한 난이도의 최댓값을 기약분수 p/q 꼴로 한 줄에 출력한다. 여기서 pp는 그 팀 안에서 협업이 잘 되지 않는 쌍의 수, qq는 팀원 수이며, pp와 qq의 최대공약수는 1이다.

어떤 팀도 협업이 잘 되지 않는 쌍을 하나도 갖지 않는 경우(난이도의 최댓값이 0인 경우)에는 0/1을 출력한다.

예제3

  1. 예제 1

    입력
    5 6
    1 5
    5 4
    4 2
    2 5
    1 2
    3 1
    
    예상 출력
    5/4
    
  2. 예제 2

    입력
    1 0
    
    예상 출력
    0/1
    
  3. 예제 3

    입력
    2 1
    1 2
    
    예상 출력
    1/2