※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 27194번 문제인 Meeting Near the Fountain이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/27194 

 

27194번: Meeting Near the Fountain

The first line of the input contains two integers $n$ ($500 \le n \le 10000$) and $T$ ($1 \le T \le 60$) --- the distance in meters between Kira's start and the meeting point and the number of minutes until the meeting with Anna is planned. The second line

www.acmicpc.net

이동해야 하는 거리를 D, 이동하는 속력을 V라 할 때 이동 시간은 D/V로 계산할 수 있음을 상기하자. 해당 지식을 이용해 출발지점에서 도착지점까지 이동하는 시간을 계산해 문제를 해결할 수 있다.

 

도착지점에 도착하는 시간을 유리수(분모와 분자값)로 표현해 실수오차를 피하고 문제를 해결하는 것이 가능하다.

 

출력해야 하는 시간의 단위는 분이고 주어진 속력은 초속으로 주어짐에 유의하자. 즉, 시간의 단위가 다르게 주어짐에 유의하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int N, M, T, X, Y;
int A, B;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N >> T >> M >> X >> Y;
	N -= M;
	X *= 60, Y *= 60;
	A = X * Y, B = Y * M + X * N;
	cout << max((B - 1) / A + 1 - T, 0);
}
728x90

+ Recent posts