본문 바로가기
프로그래밍/CodeUp

CodeUp[Q_2006] : 앞으로 뒤로

by 조원일 2020. 2. 8.
728x90

1. 문제

https://codeup.kr/problem.php?id=2006

 

앞으로 뒤로

5개의 정수 a, b, c, d, s가 차례대로 각 행에 입력된다. ( 1 <= a, b, c, d <= 100 , a >= b , c >= d, 1 <= s <= 10,000)

codeup.kr

[출처 : 코드업(https://codeup.kr/)]

이번 문제는 나머지를 구하느 "%"과 몫을 구하는"/"를 이용하면 쉽게 구할수있습니다.

 

 

2. 해답

#include <stdio.h>

int main() {
	int A_go, A_back;
	int B_go, B_back;
	int n1, n2, num;
	int A, B;

	A = B = 0;

	scanf("%d", &A_go);
	scanf("%d", &A_back);
	scanf("%d", &B_go);
	scanf("%d", &B_back);
	scanf("%d", &num);

	n1 = n2 = num;

	A = (A_go - A_back) * (n1 / (A_go + A_back));	// 전체 스텝 >= (go + back)
	B = (B_go - B_back) * (n2 / (B_go + B_back));

	n1 %= (A_go + A_back);
	n2 %= (B_go + B_back);

	A += (n1 > A_go ? A_go : n1);	// 전체 스텝 < (go + back)
	B += (n2 > B_go ? B_go : n2);

	n1 = (n1 > A_go ? n1 - A_go : 0);
	n2 = (n2 > B_go ? n2 - B_go : 0);

	A -= A_back;
	B -= B_back;

	if (A > B) printf("Nikky");
	else if (A < B) printf("Byron");
	else printf("Tied");

	return 0;
}