집게사장의 꿈

백준 C# 2869 달팽이는 나무에 올라가고 싶다. 본문

기타/백준

백준 C# 2869 달팽이는 나무에 올라가고 싶다.

Krapboss 2024. 7. 19. 18:27
문제

최종 높이에서 올라가는 높이와 떨어지는 높이를 계산해서 몇일이 걸리는지 확인하는 것

 

 

해결

 

  • v - b: 마지막 날에는 미끄러지지 않으므로, 목표 높이에서 밤에 미끄러질 높이를 빼준다.
  • (a - b): 하루에 실제로 올라가는 순수한 높이
  • (v - b - 1) / (a - b) + 1: 이는 목표 높이까지 걸리는 일수를 계산하는 식. 나머지를 버리지 않기 위해 (v - b - 1)로 1을 빼고 최소 일자인 1을 더함

 

마지막날에 도착한 경우에는  +1의 수를 더하면 되고

실질적으로 올라간 높이 : (v - b)[목표 높이] / (a - b)[하루동안 올라가는 높이] + 1 [마지막날 카운트]

 

internal class E2869 // 달팽이는 올라가고 싶다
{
    static void Main(string[] args)
    {
        int[] abv = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
        int day = (abv[2] - abv[1] - 1) / (abv[0] - abv[1]) + 1;
        Console.WriteLine(day);
    }
}