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

 

이번에 볼 문제는 백준 24302번 문제인 КУРИЕРИ이다.
문제는 아래 링크를 확인하자.

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

 

24302번: КУРИЕРИ

На единствения ред на стандартния изход програмата трябва да изведе общата сума за транспортирането на заявените сладкиши до клиентите въ

www.acmicpc.net

각 택배의 운송거리를 1000으로 나누어 몇 km대를 옮겨야하는 택배인지를 구하고, 해당 택배를 표의 범위에 맞춰 각 운송비를 계산하자.

 

택배별로 더 싼 비용으로 운송하는 방식을 선택한 뒤 두 비용을 합치고, 비용을 잘 출력해주면 문제를 해결할 수 있다.

 

소수점 아래의 단위를 출력할 때, leading zero의 개수에 유의하여 출력하자.

 

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

#include <iostream>
using namespace std;

int func1(int x) {
	if (x <= 5) return 400;
	if (x <= 10) return 700;
	if (x <= 20) return 1200;
	if (x <= 30) return 1700;
	return x * 57;
}

int func2(int x) {
	if (x <= 2) return 90 + x * 90;
	if (x <= 5) return 100 + x * 85;
	if (x <= 20) return 125 + x * 80;
	if (x <= 40) return 325 + x * 70;
	return 925 + 55 * x;
}

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

	int N, M; cin >> N >> M;
	N /= 1000, M /= 1000;
	int ans = min(func1(N), func2(N)) + min(func1(M), func2(M));
	if (ans % 100 > 9)cout << ans / 100 << '.' << ans % 100;
	else cout << ans / 100 << '.' << '0' << ans % 100;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 24935 // C++] Travelling Caterpillar  (0) 2022.05.01
[BOJ 25083 // C++] 새싹  (0) 2022.05.01
[BOJ 24924 // C++] Card Divisibility  (0) 2022.05.01
[BOJ 24923 // C++] Canadians, eh?  (0) 2022.05.01
[BOJ 24977 // C++] Visits  (0) 2022.04.30

+ Recent posts