본문 바로가기

Algorithm/Mathematics

BaekJoon 2869 달팽이는 올라가고싶다.

Link https://www.acmicpc.net/problem/2869

소스결과 1116KB 0ms

출처 BackJoon , COCI 2010/2011 #2 1번

 

설명

시간제한 0.1초 =====> 반복문을 통해 풀면 Time out

규칙을 통해 결과를 뽑아 내야 한다.

 

V - A 와 A - B를 가지고 결과를 뽑을 수 있는데

한가지 예외 사항이 존재하는 문제

V - A / A - B 의 나머지가 존재하는지 안하는지의 여부에 따라 정답이 바뀌는 점을 감안해야한다.

 

알고리즘

1. v - a가 0 이하이면 1 출력

2. (v - a) / (a - b)의 나머지의 존재 확인

 2 - 1 존재하면 (v - a) / (a - b) + 2 출력

 2 - 2 존재하지 않으면 (v - a) / (a - b) + 1 출력

 

소스코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int a, b, v;

	scanf("%d %d %d", &a, &b, &v);

	int diff = v - a;
	int day = a - b;

	if (diff <= 0)
		printf("%d", 1);
	else
	{
		if (diff % day)
			printf("%d", diff / day + 2);
		else
			printf("%d", diff / day + 1);
	}


	return 0;
}

 

'Algorithm > Mathematics' 카테고리의 다른 글

BackJoon 1978 소수 찾기  (0) 2019.01.21
BaekJoon 1094 막대기  (0) 2019.01.10
BaekJoon 1110 더하기 사이클  (0) 2019.01.05
BaekJoon 2839 설탕배달  (0) 2019.01.05
BaekJoon 2997 네 번째 수  (0) 2018.12.31