프로그램 명: up_down
제한시간: 1 초
Nikky 와 Byron 체육시간에 게임을 하고 있다.
선생님이 Nikky 에게는 a 보 전진 후에 b 보 후퇴하게 , Byron 에게는 c 보 전진 후 d 보 후퇴하는 작업을 반복적으로 하게 했다.
둘은 같은 보폭을 가지고 한 보폭당 걸리는 시간이 같다.
s 스텝 이후 선생님이 휘슬을 분 경우 둘 중 누가 처음 위치보다 멀리 가 있는가를 알아내는 프로그램을 하라.
입력
5 개의 정수 a,b,c,d,s 가 주어진다.
단, a,b,c,d 는 100 이하의 정수이고 a > b , c > d 이고 s 는 10000 이하의 정수이다.
출력
세 가지 중 하나를 출력한다.
- Nikky
- Byron
- Tied
입출력 예
입력 4 2 5 3 12 출력 Byron
입출력 보충
Nikky 는 12 스텝 후의 상태는 4 - 2 + 4 - 2 즉 첫 위치에서 4 스텝 만큼 떨어지고 Byron 는 5 - 3 + 4 즉 6 스텝 떨어져서 Byron 이 더 멀리 떨어져 있다.
출처:uwaterloo junior
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include <iostream> using namespace std; int main() { int a, b, c, d, s; cin >> a >> b >> c >> d >> s; int nikkyStep = 0, nikkySum = 0, byronStep = 0, byronSum = 0; bool nikkyPlus = true, byronPlus = true; for (int i = 0; i < s; i++) { nikkyStep++; if (nikkyStep > a) nikkyPlus = false; if (nikkyPlus) nikkySum++; else nikkySum--; if (nikkyStep == a + b) { nikkyStep = 0; nikkyPlus = true; } byronStep++; if (byronStep > c) byronPlus = false; if (byronPlus) byronSum++; else byronSum--; if (byronStep == c + d) { byronStep = 0; byronPlus = true; } } if (nikkySum > byronSum) cout << "Nikky"; else if (nikkySum < byronSum) cout << "Byron"; else cout << "Tied"; return 0; } | cs |
'algorithm ' 카테고리의 다른 글
더블릿|dovelet - 2번째 계단 - 등차/등비 수열/eva (0) | 2016.07.30 |
---|---|
더블릿|dovelet - 2번째 계단 - 점수 맞추기/beat (0) | 2016.07.30 |
더블릿|dovelet - 2번째 계단 - 삼각형 판별/rao (0) | 2016.07.26 |
더블릿|dovelet - 2번째 계단 - 삼각형 성립 조건/tri (0) | 2016.07.26 |
더블릿|dovelet - 2번째 계단 - 쥬스/coci_sok (0) | 2016.07.25 |