반응형
문제 출처 :
https://www.acmicpc.net/problem/13199
알고리즘 분석 :
문제 해결에 필요한 사항
1. 구현
문제를 정확히 이해하고, 실수를 하지 않도록 변수명을 제대로 설정해서 푼다면 문제를 쉽게 해결 할 수 있다.
두영이는 쿠폰으로 시킨 치킨에 쿠폰을 주지 않지만, 상언이는 쿠폰으로 시킨 치킨에 쿠폰을 받는다.
그 과정을 while문으로 나타내면 아래와 같다.
소스 코드 :
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 | #include <iostream> #include <cstdio> using namespace std; int main() { int tc; scanf("%d", &tc); while (tc--) { int p, m, f, c; scanf("%d %d %d %d", &p, &m, &f, &c); // a :: 상언 , b :: 두영 int bChicken = m / p; int bCoupon = m / p * c; bChicken += bCoupon / f; int aChicken = m / p; int aCoupon = m / p * c; while(aCoupon / f > 0) { int total = aCoupon / f; aChicken += total; aCoupon = aCoupon - total * f + total * c; } printf("%d\n", aChicken - bChicken); } return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[3055번] 탈출 (0) | 2018.01.21 |
---|---|
[7453번] 합이 0인 네 정수 (0) | 2018.01.21 |
[1854번] K번째 최단경로 찾기 (0) | 2018.01.20 |
[14607번] 피자 (Large) (0) | 2018.01.17 |
[14606번] 피자 (Small) (0) | 2018.01.17 |