https://www.acmicpc.net/problem/2869
또, 정상에 올라간 후에는 미끄러지지 않는다. 는 조건을 잘 생각해서 코딩해야 한다.
정상에 도달하지 못하면 다시 미끄러졌다가 다시 올라간다.
따라서 올라가는 횟수보다 내려가는 횟수가 한번 작다.
즉, 도달한 날에는 미끄러지면 안된다.
N = V/(A-B)로 계산할 경우
정상에 도착했지만 밤에 미끄러지고 다시 정상에 올라가는 경우가 있을 수 있으므로
목표지점에 도착한 날에는 V-B만큼 올라갔다고 생각하면 된다.
N = (V-B)/(A-B)로 계산할 때
나머지가 0이면 N일차에 딱 맞추어 달팽이가 도착한 것이고,
나머지가 남는다면 N+1일 차에 달팽이가 도착한 것이다.
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string[] str = Console.ReadLine().Split(' ');
int v = int.Parse(str[2]);
int a = int.Parse(str[0]);
int b = int.Parse(str[1]);
int n = (v - b) / (a - b);
if((v-b)%(a-b)!=0)
{
n++;
}
Console.Write(n);
}
}
}
예제 입력 1
2 1 5
예제 출력 1
4
예제 입력 2
5 1 6
예제 출력 2
2
예제 입력 3
100 99 1000000000
예제 출력 3
999999901
'코딩테스트 > 백준_문제' 카테고리의 다른 글
2292번. 벌집 (0) | 2022.04.02 |
---|---|
1712번. 손익분기점 (0) | 2022.04.02 |
12100번. 2048(Easy)(골드2) (0) | 2020.08.14 |
1516번. 게임개발(골드3) (0) | 2020.08.13 |
12849번. 본대산책(실버1) (0) | 2020.08.12 |