UVA12157 Tariff Plan 的题解

该文是关于UVA12157题目的解题报告,主要讨论了在通信公司的两种套餐——Mile套餐和Juice套餐的费用计算方法。通过对每次通话费用的计算,找出订购两种套餐的最低花费,并给出相应的C++代码实现。
摘要由CSDN通过智能技术生成

UVA12157 Tariff Plan 的题解

洛谷传送门
UVA传送门

题目大意

在一个通信公司里,有 Mile 套餐和 Juice 套餐,其中两种套餐收费方式不同,如下:

  • Mile 套餐:每通话 30 30 30 秒收费 10 10 10 元。

  • Juice 套餐:每通话 60 60 60 秒收费 15 15 15 元。

有多组数据,每组给定 n n n n n n 次通话时间,求订购 Mile 套餐的花费与 Juice 套餐的花费的最小值,每次通话独立。

思路

根据题意,得出计算公式 :

  • Mile 套餐每次的价钱: ( t 30 + 1 ) × 10 (\frac{t}{30}+1)\times10 (30t+1)×10

  • Juice 套餐每次的价钱: ( t 60 + 1 ) × 15 (\frac{t}{60}+1)\times15 (60t+1)×15

算出两套餐的价格,再比较大小,最后输出即可。

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int T, n, t;
int main() {
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> T;
	for(int i = 1; i <= T; i ++) {
		cin >> n;
		int sum1 = 0, sum2 = 0; // 注意清0 
		for(int j = 1; j <= n; j ++) {
			cin >> t;
			sum1 += ((t / 30) + 1) * 10; // Mile 套餐 
			sum2 += ((t / 60) + 1) * 15; // Juice 套餐
		}
		cout << "Case " << i << ": ";
		if(sum1 == sum2)  { // 判断 
			cout << "Mile Juice " << sum1;
		}
		else if(sum1 < sum2) {
			cout << "Mile " << sum1;
		}
		else {
			cout << "Juice " << sum2;	
		} // 输出要注意格式 
		cout << endl; // 注意换行 
	}
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值