购物车 sdut3869

来源:互联网 发布:爱因斯坦 以色列 知乎 编辑:程序博客网 时间:2024/06/13 08:40
import java.util.*;public class Main {static Scanner in = new Scanner(System.in);public static void main(String args[]) {Map<Integer, Goods> list = new TreeMap<Integer, Goods>();int n = in.nextInt();for (int i = 0; i < n; i++) {int id = in.nextInt();String name = in.next();String producer = in.next();double cost = in.nextDouble();int stock = in.nextInt();Goods goods = new Goods(id, name, producer, cost, stock);list.put(id, goods);}int t = in.nextInt();int[] a = new int[10000];for (int i = 0; i < a.length; i++) {a[i] = 0;}for (int i = 0; i < t; i++) {int id = in.nextInt();int count = in.nextInt();int symble = in.nextInt();if (symble == 1) {if (list.get(id).stock >= count) {list.get(id).stock -= count;a[id] += count;}else{a[id]+=list.get(id).stock;list.get(id).stock=0;}}if (symble == 2) {if(count>a[id]){list.get(id).stock+=a[id];a[id]=0;}else{a[id]-=count;list.get(id).stock+=count;}}if (symble == 3) {if (list.get(id).id == id) {list.get(id).stock += a[id];a[id] = 0;}}}int cnt = 0;for (Integer g : list.keySet()) {if (a[g] > 0) {cnt++;}}double sum = 0;System.out.println(cnt);for (Map.Entry<Integer,Goods> g : list.entrySet()) {if (a[g.getKey()] > 0) {System.out.print(g.getValue().id+"\t"+g.getValue().name+"\t"+g.getValue().producer+"\t");System.out.printf("%.2f", g.getValue().cost);System.out.println("\t"+g.getValue().stock+"\t"+a[g.getKey()]);sum += g.getValue().cost * a[g.getKey()];}}System.out.printf("%.2f", sum);System.out.println();}}class Goods {String name, producer;int id, stock;double cost;public Goods(int id, String name, String producer, double cost, int stock) {this.id = id;this.name = name;this.cost = cost;this.producer = producer;this.stock = stock;}}

0 0
原创粉丝点击