阿里测评,怎么做呢?
小明是一个爱吃零食的小伙子,平时会在网上购买各种好吃的零食。一天,小明了解到,在天猫超市上购买不同种类的零食,会有各种各样的优惠活动,如:满99减50,满188减100,满288减150等等,每种零食只参与其中一种优惠活动方式,还包邮哦,但也有条件,就是每种零食只限购一份。小明看了非常心动,原来天猫超市上购买零食会这么划算,可以节省很多钱,真的太好了。心动不如行动,小明马上列出了所有参与活动的零食种类和其价格,以及每种零食种类参与的优惠活动方式,小明也看了看自己支付宝里面的余额为M(正整数)元,用于天猫超市上的购物支付。但是小明烦恼也来了,左算右算,也算不出怎样选择零食的组合才能使自己买到的零食总和价值最大,聪明的你帮帮小明算算,在最后支付时(优惠后)的总金额不大于M的前提下,小明最多可以买到零食的价值总和N。
输入数据包括:
(1)优惠活动:满减金额条件和其满减金额(小于或等于5种优惠活动);
(2)每种零食的价格和其参加的优惠活动(小于30种零食);
(3)小明支付宝余额M
#阿里巴巴#
输入数据包括:
(1)优惠活动:满减金额条件和其满减金额(小于或等于5种优惠活动);
(2)每种零食的价格和其参加的优惠活动(小于30种零食);
(3)小明支付宝余额M
输出:小明最多可以买到零食的价值总和N
模板程序:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Main {
/** 请完成下面这个函数,实现题目要求的功能 **/
/** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^ **/
static int Goods_Compute(String activityStr, String itemStr, String amountStr) {
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int res;
String _activityStr;
try {
_activityStr = in.nextLine();
} catch (Exception e) {
_activityStr = null;
}
String _itemStr;
try {
_itemStr = in.nextLine();
} catch (Exception e) {
_itemStr = null;
}
String _amountStr;
try {
_amountStr = in.nextLine();
} catch (Exception e) {
_amountStr = null;
}
res = Goods_Compute(_activityStr, _itemStr, _amountStr);
System.out.println(String.valueOf(res));
}
}