학습 정리/👨‍💻 PS Study

[C] 백준 4884번 - FIFA 월드컵

무딘붓 2022. 7. 9. 21:44

https://www.acmicpc.net/problem/4884

 

4884번: FIFA 월드컵

FIFA는 월드컵의 대회 형식을 약간 수정하려고 한다. 현재, 월드컵은 32개팀이 참가하며, 2개의 라운드로 이루어져 있다. 첫 번째 라운드는 조별 리그이고, 32개팀은 8개의 조에 배정된다. 각 팀은

www.acmicpc.net

(22.03.06)

4884번: FIFA 월드컵 - C언어 풀이

 

[소스코드]

#pragma warning(disable:4996)
#include <stdio.h>
#include <math.h>

int main() {

	long long g, a, t, d;

	scanf("%ld %ld %ld %ld", &g, &t, &a, &d);
	while (1) {
		if (g == -1 && t == -1 && a == -1 && d == -1) break;

		long long to_num = g * a + d;

		for (long i = 1; i < to_num; i++) {
			if (pow(2, i) == to_num) {
				break;
			}
			if (pow(2, i) > to_num) {
				to_num = pow(2, i);
				break;
			}
		}

		long long to = to_num - 1;
		long long jo = (t * (t - 1) / 2)*g;

		long long x = jo + to;
		long long y = 0;
		if (d > 0) y = to_num - (g * a + d);

		printf("%ld*%ld\/%ld+%ld=%lld+%lld\n", g, a, t, d, x, y);

		scanf("%ld %ld %ld %ld", &g, &t, &a, &d);
	}
	

	return 0;
}

참가팀이 n개일 때,
토너먼트의 경기수 = n-1 이고 (3,4위전 등의 예외가 없을 때)
리그 경기 수 = nC2 = n(n-1)/2 이다.