Kết hợp Strategy với Generics. Interface PricingStrategy có double price(T item). Class Product có name, basePrice. Hai chiến lược: RegularPricing trả basePrice; DiscountPricing(double rate) trả basePrice*(1-rate). Class PricingEngine giữ PricingStrategy, setStrategy, double compute(T). Đọc N sản phẩm, mỗi sản phẩm có name, basePrice, kiểu ('R' hoặc 'D' rate). Tính tổng giá sau khi áp chiến lược tương ứng cho từng sản phẩm. In tổng (2 chữ số thập phân, Locale.US) và danh sách 'name=' (2 chữ số thập phân, Locale.US) trên các dòng riêng theo thứ tự nhập.
Dòng 1: N. N dòng sản phẩm. Mỗi dòng: name basePrice type [rate]. Nếu type='R' không có rate; nếu 'D' có rate.
1 <= N <= 10^4; 0 <= basePrice <= 10^6; 0 <= rate < 1.
N dòng 'name=' rồi 1 dòng 'TOTAL='.
Đang tải editor...