728x90
1. 문제출처
https://www.acmicpc.net/problem/21760
21760번: 야구 시즌
KOI 야구 리그에는 $N$개의 지역리그가 존재하고 각 지역리그에는 $M$개의 팀이 존재해서, 리그 전체로는 $N \times M$개의 팀으로 운영되고 있다. 한 시즌에 각 팀은 같은 지역리그 팀뿐만 아니라 다
www.acmicpc.net
2. 코드
1
2
3
4
5
6
7
|
for _ in range(int(input())):
n,m,k,d = map(int,input().split())
b = 2*d//(k*n*m*(m-1) + m*m*n*(n-1))
if b:
print(m*(m-1)*n*k*b//2 + m*m*n*(n-1)*b//2)
else:
print(-1)
|
cs |
3. 해결과정
지역 리그의 수는 n이고, 하나의 지역 내에서 m개의 팀중에 2개를 고르니까
m*(m-1)이 되고 따라서 한 지역 리그 내의 수는 n*m*(m-1)이 된다.
다른 지역 리그와 경기에서는 n개의 리그에서 2개를 고르니까
n*(n-1)이 되고, 각 리그에서 한 팀으를 고르니까 n*(n-1)*m*m
여기에 a와 b를 가각 곱한 것이 d보다 작아야함
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
[그리디] 곱하기 혹은 더하기 (0) | 2022.08.29 |
---|---|
[그리디] 모험가 길드 (0) | 2022.08.29 |
(Python/파이썬) 백준 10804번 - 카드 역배치 (0) | 2022.04.27 |
(Python/파이썬) 백준 2163번 - 초콜릿 자르기 (0) | 2022.03.16 |
(Python/파이썬) 백준 2688번 - 줄어들지 않아 (0) | 2021.09.24 |