※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 16785번 문제인 ソーシャルゲーム (Social Game)이다.
문제는 아래 링크를 확인하자.

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

 

16785번: ソーシャルゲーム (Social Game)

JOI 君が少なくとも C 枚のコインを得るためにログインしなければならない回数の最小値を出力せよ.

www.acmicpc.net

입력의 크기가 그렇게 크지 않으므로, 하루하루 소셜게임에 출석해나가는 것을 시뮬레이션을 돌려보는 것으로 문제를 해결할 수 있다.

 

하루마다 A개의 코인을, 7일마다 B개의 코인을 얻어나가면서 C개의 코인이 모이는 시점을 찾아내자. 이는 while문을 이용해 간단히 구현할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main()
{
    int a, b, c; cin >> a >> b >> c;
    int coin = 0;
    int day = 0;
    while (coin < c) {
        day++;
        coin += a;
        if (day % 7 == 0) coin += b;
    }
    cout << day;
}
728x90

+ Recent posts