페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2969

피타고라스 승률 1s 64MB

문제

야구는 통계의 스포츠이다. 프로야구 구단들은 몇 년 전부터 일찌감치 세이버매트릭스라는 개념을 이용하여 야구 경기를 통계적으로 분석해왔다. 사람들은 특정 야구팀이 한 시즌 동안 운이 좋았는지 알아보기 위해 피타고라스 승률(Pythagorean Expectation)을 구해서 평가한다.

 

한 야구팀의 피타고라스 승률 W는 아래 식과 같이 정의된다.

- W = S2 / (S2 + A2)

여기서 S는 해당 팀의 총 득점 수를, A는 해당 팀의 총 실점 수를 나타낸다.

 

2014년 프로야구 시즌에 대해서 피타고라스 승률 W를 구해서 여러 팀들을 분석해보자. 한화 이글스는 총 619 득점을 하고 총 889 실점을 했으며 실제 승률은 0.389이다. 하지만 한화 이글스의 피타고라스 승률은 6192​ / (6192 + 8892) = 0.326으로 실제 승률보다 낮다. 따라서 한화 이글스는 2014년 시즌에 운이 좋았다는 것을 알 수 있다.

 

반면, 롯데 자이언츠는 총 715 득점을 하고 719 실점을 했으며 실제 승률은 0.457이다. 롯데 자이언츠의 피타고라스 승률은 0.497으로 실제 승률보다 높다. 따라서 롯데 자이언츠는 2014년 시즌에 운이 나빴다는 것을 알 수 있다.

 

N개의 팀에 대한 기록이 주어졌을 때, 피타고라스 승률이 가장 높은 팀과 가장 낮은 팀을 구하는 프로그램을 작성하여라.  


입력

첫 번째 줄에는 팀의 수 N과 경기의 수 M이 주어진다. (2 ≤ N, M ≤ 1,000)

두 번째 줄부터 M개의 줄에는 각 경기에 대한 정보가 주어진다. 이 정보는 ‘A B P Q’ 형태로 주어지 는데, 이는 A번 팀과 B번 팀이 경기를 해서 A번 팀이 P득점하고 B번 팀이 Q득점을 했다는 의미이다.

A와 B는 1 이상 N 이하의 서로 다른 수이며, P와 Q는 0 이상 20 이하의 수이다.


출력

첫 번째 줄에는 피타고라스 승률의 최댓값에 1,000을 곱한 값의 정수부분을 출력한다.

두 번째 줄에는 피타고라스 승률의 최솟값에 1,000을 곱한 값의 정수부분을 출력한다.

만약 어떤 팀의 득점과 실점이 모두 0이라면, 피타고라스 승률은 0으로 간주한다.


예제 #1

3 5 

1 2 3 5
1 3 10 1
1 2 0 7
2 3 9 3
3 2 4 5
871

100

예제 #2

4 6 

1 2 0 11
1 3 17 13
1 4 17 1
2 3 7 12
2 4 19 17
3 4 17 0
753

103

출처

ACM-ICPC Daejeon Regional 2015 인터넷 예선 문제 J
로그인해야 코드를 작성할 수 있어요.