Java实现ACMGoShopping

ACMGoShopping
Description
最近的YJ运气特别好,这不,他在路边摊买彩票,居然中了大奖。秉着见者有份的原则,他准备请咱们学校ACM训练基地的全体队员逛商场。
赶巧学校旁边有一家商场新店开张,正在进行打折促销活动。于是,咱们所有队员都在商场中大肆购买之后,在收银台前排起了长队。
话说回来,这家商场的打折方式有些奇怪:他们从在收银台前付账的所有n位顾客中,每隔m名顾客便挑选一位顾客享受七五折优惠,
其余顾客只能享受九五折。
  为了方便付账,YJ拜托老板将付账者的姓名和付款金额打印出来,作为付款的参考。
  你需要注意的是,在收银台前长长的队伍中,有的可不止是ACM队员,同样,还有很多学校的同学慕名前来消费。为了区分他们,
我们规定,所有ACM队员必须在姓名前加上前缀“ACM”(不包含双引号,且不存在非ACM队员的同学名字前面出现ACM字样)。
现在,请机智的你为YJ编写一个小程序,算一算他总共需要花费多少钱呢?
应该注意的是,老板只收取“角”作为最小单位,而且他是一个锱铢必较的人,所以,如果你所付金额中存在小于0.1元的部分,那就至少要付0.1元给他

[输入]
输入数据包含多组,每组第一行有两个整数n,m(0<n<=100,0<m<=10)。分别代表着在收银台前队伍的全部人数,以及商家将会选择每第m位顾客打7.5折。接下来有n行,每行将会输入消费者的姓名(长度不超过20个字符),以及他们各自消费的金额(以“元”位单位,最高可能精确到小数点后两位)。

[输出]
每组数据输出一行,每行一个实数,表示YJ总共需要花费多少开销(以“元”位单位,包含1位小数位)。

[样例输入]
4 2
Newee 123.12
ACMAwell 100.3
PRO 345.5
Sirius 456.99
5 2
Newee 123.12
ACMAwell 100
PROPHET 345.5
Sirius 456.99
ACMProphetK 100

[样例输出]
75.3
170.0

package 第六次模拟;

import java.util.Scanner;

public class Demo7ACM购物 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			int n = sc.nextInt();
			int m = sc.nextInt();
			double sum=0;
			for (int i = 1; i <=n; i++) {
				String name=sc.next();
				double num=sc.nextDouble();
				if(name.startsWith("ACM")){
					 if(i%m==0)  
		                    sum+=num*0.75;  
		                else  
		                    sum+=num*0.95; 
				}
			}
		//	System.out.println(sum);
			System.out.printf("%.1f\n",sum+0.049999);
		}
	}

}

posted @ 2020-02-29 14:40  南墙1  阅读(65)  评论(0编辑  收藏  举报