C_C++
C++ - 백준 9501 꿍의 우주여행
ncode
2025. 1. 30. 18:42
728x90
반응형
/* 백준 9501 꿍의 우주여행
* 문제
꿍은 우주여행을 하고 싶어져서 우주여행을 계획하기 시작했다. 몇 가지를 고려해본 결과
우주여행에는 우주선의 연료와 목적지까지의 도착시간이 가장 큰 영향을 미치는것으로 파악됐다.
꿍은 엄청난 부자여서 우주선이 여러대가 있는데 각각의 우주선마다 최고속도와 연료소비율이
조금씩 다르다. 연료 소비율은 단위시간당 소비하는 연료의 양이다.
모든 우주선이 최고속도에 즉시 도달한다고 할 때 꿍이 가고싶어하는 곳까지 여행할 수 있는
우주선은 총 몇대인지 여러분이 대신 구해줘라.
* 입력
입력은 테스트케이스의 개수 T (1 ≤ T ≤ 50)로 시작한다.
각 테스트케이스는 공백으로 구분되는, 우주선의 개수 N (1 ≤ N ≤ 100)과 목적지 까지의
거리 D (1 ≤ D ≤ 106), 두 개의 정수로 시작한다. 다음 N줄에는 각각 공백으로 구분되는,
우주선의 최고속도 vi (1 ≤ vi ≤ 1000)와 우주선의 연료양 fi (1 ≤ fi ≤ 1000)와 우주선의
연료소비율 ci (1 ≤ ci ≤ 1000), 세개의 정수가 주어진다.
* 출력
각 테스트케이스에 대해 목적지까지 갈 수 있는 우주선의 개수를 구하여라.
이때, 정수의 나눗셈에 조심하라!
* 예제 입력 1
2
3 100
52 75 10
88 13 44
56 9 5
2 920368
950 950 1
943 976 1
* 예제 출력 1
2
1
*/
/* 풀이
거리 = 속력 * 시간
연료소모율 = 연료량 / 시간, 시간 = 연료량 / 연료소모율율
거리 = 속력 * (연료량 / 연료소모율), d = v * (f / c), d * c = v * f
출력 힌트에 "정수의 나눗셈에 조심하라!" 라는 부분은 나눗셈을 하지 않는 것으로
해결한다. (v * f >= c * d)
*/
#include <iomanip>
#include <iostream>
using std::cin, std::cout;
int main() {
int t;
cin >> t;
while (t-- > 0) {
int n, d;
cin >> n >> d;
int count = 0;
for (int i = 0; i < n; ++i) {
int v, f, c;
cin >> v >> f >> c;
// 거리 = 속력 * 시간
// 연료소모율 = 연료량 / 시간, 시간 = 연료량 / 연료소모율율
// 거리 = 속력 * (연료량 / 연료소모율), d = v * (f / c), d * c = v * f
if (v * f >= c * d) {
++count;
}
}
cout << count << '\n';
}
}
728x90
반응형