寄快递费用
Author: Leisureeen
Time Limit: 100ms
Memory Limit: 65535KB
Code Size Limit: 16 KB
64-bit integer IO format: %lld
又到了我们毕业生离校的时候了,Leisureeen返校后要给同学寄一些物品,请你来帮忙算一算大约需要多少钱。
菜鸟驿站给出的计算规则如下:
每1KG(1公斤)为一个计费重量单位,不足1kg向上取整按1kg计费。一般包裹按重量计费,1KG内按照首重计费,超出1KG部分按照续重计费。当包裹体积较大同时重量较轻时,会按照体积计费。量取物品长(cm)、宽(cm)、高(cm)折算成体积重量(KG),折算公式:体积重量=(长*宽*高)/6000。计算出来的体积重量,会与包裹实际重量进行比较,取较重者为最终计费重量,用以计算运费。
输入格式:
第一行是一个正整数N(1<=N<=1000),表示共有N次询问。
接下来共有N行,每行包含4个正整数,分别是k(1<=k<=100)、b(1<=b<=k)、m(1<=m<=10^6)和v(1<=v<=10^8),k表示首重(元/kg),b表示续重(元/kg),m表示质量(单位:g,本文中所有的重量都特指质量,并非重力),v表示体积(立方厘米)。
输出格式:
输出共N行,对每次询问求出寄快递所需要的费用(元),并在一行内输出。
输入样例:
4
8 2 1300 1300
12 8 13300 8888
8 2 6500 8640
15 10 12345 123456
输出样例:
10
116
20
215
我们班的Armstrong用Java写了个程序,当时任务就是真正过样例,暂时不要求ac。
如下代码是简单修改的(只修改注释和格式,未改实际内容):
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); for(int i = 1;i<=a;i++) { int k = sc.nextInt(); int b = sc.nextInt(); int m = sc.nextInt(); int v = sc.nextInt(); int m1 = (m + 999)/1000; if(m > v/6) { int sum = k + (m1-1) * b; System.out.println(sum); } else { int sum1 = k + (v/6000) * b; System.out.println(sum1); } } } }
显然该代码存在大量bug,不是Armstrong不知道,而是当时未要求ac。
posted on 2020-05-13 15:45 Leisureeen 阅读(901) 评论(0) 编辑 收藏 举报