문제
2017년에 이어, 2018년에도 카카오 코드 페스티벌이 개최된다!
카카오 코드 페스티벌에서 빠질 수 없는 것은 바로 상금이다. 2017년에 개최된 제1회 코드 페스티벌에서는, 본선 진출자 100명 중 21명에게 아래와 같은 기준으로 상금을 부여하였다.
순위 | 상금 | 인원 |
---|---|---|
1등 | 500만원 | 1명 |
2등 | 300만원 | 2명 |
3등 | 200만원 | 3명 |
4등 | 50만원 | 4명 |
5등 | 30만원 | 5명 |
6등 | 10만원 | 6명 |
2018년에 개최될 제2회 코드 페스티벌에서는 상금의 규모가 확대되어, 본선 진출자 64명 중 31명에게 아래와 같은 기준으로 상금을 부여할 예정이다.
순위 | 상금 | 인원 |
---|---|---|
1등 | 512만원 | 1명 |
2등 | 256만원 | 2명 |
3등 | 128만원 | 4명 |
4등 | 64만원 | 8명 |
5등 | 32만원 | 16명 |
제이지는 자신이 코드 페스티벌에 출전하여 받을 수 있을 상금이 얼마인지 궁금해졌다. 그는 자신이 두 번의 코드 페스티벌 본선 대회에서 얻을 수 있을 총 상금이 얼마인지 알아보기 위해, 상상력을 발휘하여 아래와 같은 가정을 하였다.
제1회 코드 페스티벌 본선에 진출하여 a등(1 ≤ a ≤ 100)등을 하였다. 단, 진출하지 못했다면 a = 0으로 둔다.
제2회 코드 페스티벌 본선에 진출하여 b등(1 ≤ b ≤ 64)등을 할 것이다. 단, 진출하지 못했다면 b = 0으로 둔다.
제이지는 이러한 가정에 따라, 자신이 받을 수 있는 총 상금이 얼마인지를 알고 싶어한다.
입력
첫 번째 줄에 제이지가 상상력을 발휘하여 가정한 횟수 T(1 ≤ T ≤ 1,000)가 주어진다.
다음 T개 줄에는 한 줄에 하나씩 제이지가 해본 가정에 대한 정보가 주어진다. 각 줄에는 두 개의 음이 아닌 정수 a(0 ≤ a ≤ 100)와 b(0 ≤ b ≤ 64)가 공백 하나를 사이로 두고 주어진다.
출력
각 가정이 성립할 때 제이지가 받을 상금을 원 단위의 정수로 한 줄에 하나씩 출력한다. 입력이 들어오는 순서대로 출력해야 한다
예제 입력 1
6 8 4 13 19 8 10 18 18 8 25 13 16 |
예제 출력 1
1780000 620000 1140000 420000 820000 620000 |
출처
Contest > 카카오 코드 페스티벌 > 카카오 코드 페스티벌 2018 예선 A번
코드
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 | #include <iostream> using namespace std; int check_price1(int a); int check_price2(int b); int main() { int num, rank1, rank2, val1, val2; cin >> num; for (int i = 0; i < num; i++) { cin >> rank1 >> rank2; val1 = check_price1(rank1); val2 = check_price2(rank2); cout << val1 + val2 << endl; } return 0; } // 제1회 코드 페스티벌 상금 int check_price1(int a) { int tot1; if (a== 1) tot1 = 5000000; // 1명 else if (a>= 2 && a<= 3) tot1 = 3000000; // 2명 else if (a>= 4 && a<= 6) tot1 = 2000000; // 3명 else if (a>= 7 && a<= 10) tot1 = 500000; // 4명 else if (a>= 11 && a<= 15) tot1 = 300000; // 5명 else if (a>= 16 && a <= 21) tot1 = 100000; // 6명 else tot1 = 0; return tot1; } // 제2회 코드 페스티벌 상금 int check_price2(int b) { int tot2; if (b== 1) tot2 = 5120000; // 1명 else if (b>= 2 && b<= 3) tot2 = 2560000; // 2명 else if (b>= 4 && b<= 7) tot2 = 1280000; // 4명 else if (b>= 8 && b<= 15) tot2 = 640000; // 8명 else if (b>= 16 && b<= 31) tot2 = 320000; // 16명 else tot2 = 0; return tot2; } |
'Problem Solving > BaekJoon Online Judge' 카테고리의 다른 글
[BOJ10174][C++] 팰린드롬 (0) | 2018.09.08 |
---|---|
[BOJ14490][C++] 백대열 (0) | 2018.08.25 |
[BOJ14495][C++] 피보나치 비스무리한 수열 (0) | 2018.08.24 |
[BOJ15552][C++] 빠른 A+B (1) | 2018.08.18 |
[BOJ15964][C++] 이상한 기호 (0) | 2018.08.15 |
[BOJ10988][C++] 팰린드롬인지 확인하기 (0) | 2017.12.01 |
[BOJ2953][C++] 나는 요리사다 (0) | 2017.12.01 |
[BOJ10886][C++] 덱 (0) | 2017.12.01 |