문제
최종 높이에서 올라가는 높이와 떨어지는 높이를 계산해서 몇일이 걸리는지 확인하는 것
해결
- 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);
}
}'기타 > 백준' 카테고리의 다른 글
| 백준 C# 11050 이항계수 1 (0) | 2024.07.21 |
|---|---|
| 백준 C# 10989 수 정렬하기 3 (0) | 2024.07.19 |
| 백준 C# 2775 부녀회장이 될거야 (2) | 2024.07.14 |
| 백준 C# 49768592 최대공약수와 최소공배수 (0) | 2024.07.11 |
| 백준 C# 1259 팰린드롬수 (0) | 2024.07.11 |