NYPC 2021 예선 | 계단 풀이
2022. 5. 18. 14:44ㆍNYPC/NYPC 2021 예선
728x90
[문제]
배찌는 1층부터 M층까지 있는 건물의 F층에 살고 있다. 배찌는 이 건물에 있는 계단을 이용해서 운동을 하고 싶다. 배찌는 각 층에서 다음과 같은 일 중 하나를 골라서 하나를 진행한다.
- 현재 배찌가 있는 곳이 X층이고 X<M이면, 계단을 한 층 올라 X+1층으로 갈 수 있다.
- 현재 배찌가 있는 위치와 관계없이, 엘리베이터를 타고 원하는 층으로 움직일 수 있다.
배찌는 자기가 살고 있는 F층에서 출발해서, 계단을 한 층 오르는 것을 총 N번 하고 다시 자기가 살고 있는 F층으로 돌아오고 싶어 한다. 그 과정에서 엘리베이터를 타는 것은 언제든 할 수 있다. 운동을 마치기 위해 배찌가 엘리베이터를 타야 하는 횟수의 최솟값을 구하여라.
[입력 형식]
첫 줄에 건물의 총 층수 M, 배찌가 사는 층수 , 배찌가 오르고 싶은 계단의 총 층수 이 공백으로 구분되어 주어진다. (2<=M<=1,000,000,000; 1<=F<=M; 1<=N<=1,000,000,000)
[출력 형식]
첫 줄에 배찌가 엘리베이터를 타야 하는 횟수의 최솟값을 출력한다.
[해설]
엘리베이터를 이용해서는 최대 M-1층을 내려갈 수 있으므로, 한 번 엘리베이터를 이용하면 M-1번 계단을 오를 수 있다. F는 관계가 없는데, F층에서 N층으로 올라가서 1층으로 내려간 후 다시 F층으로 돌아가는 것도 총 M-1번 계단을 오른 것이다. 그래서 N/(M-1) 보다 크거나 같은 최소의 정수가 답이다.
[C/C++ 코드]
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll m,f,n;
int main(){
cin>>m>>f>>n;
cout<<(n+m-2)/(m-1);
}
조금만 생각해보면 O(1)에 바로 풀리는 문제였습니다 :D
728x90
'NYPC > NYPC 2021 예선' 카테고리의 다른 글
NYPC 2021 예선 | 페인트 칠하기 (0) | 2023.07.11 |
---|---|
NYPC 2021 예선 | 파티 (0) | 2023.05.21 |
NYPC 2021 예선 | 근무표 짜기 (0) | 2023.05.20 |
NYPC 2021 예선 | 폭탄 터트리기 풀이 (0) | 2022.09.03 |
NYPC 2021 예선 | 레이스 기록 검증 풀이 (0) | 2022.08.06 |