문제 출처 : https://www.acmicpc.net/problem/23351
code
#include <stdio.h>
int main()
{
int N, K, A, B, catnip, day = 0;
scanf("%d %d %d %d", &N, &K, &A, &B);
catnip = K;
while (1)
{
day++;
if (day % (N/A) == 0)
catnip += B;
catnip--;
if (catnip == 0)
break;
}
printf("%d", day);
return 0;
}
입력조건에 A는 N의 약수라고 했으니까 N/A개의 화분 그룹이 생길것이다.
그러므로 기간이 최대한 길어지도록 물을 줄 때 그룹 앞에서부터 물을주기 시작하면,
맨뒤에 있는 그룹이 가장 먼저 죽을것이다.
그래서 우리는 맨뒤에 있는 그룹을 기준으로 보면, 맨뒤에 있는 화분은 N/A일 마다 물을 받게 된다. 이것을 while(1)무한루프로 돌리면 저렇게 된다.
생각조금만해보면 쉬운문제인듯