Advertisement
dim4o

_04_Problem

Sep 22nd, 2014
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.87 KB | None | 0 0
  1. import java.util.LinkedHashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4. import java.util.TreeMap;
  5.  
  6. public class _04_Problem {
  7.  
  8.     public static void main(String[] args) {
  9.         @SuppressWarnings("resource")
  10.         Scanner input = new Scanner(System.in);
  11.         int num = Integer.parseInt(input.nextLine());
  12.         TreeMap<String, LinkedHashMap<String, Integer>> nutMap  = new TreeMap<String, LinkedHashMap<String, Integer>>();
  13.         for (int i = 0; i < num; i++) {
  14.             String currLine = input.nextLine();
  15.             String[] currInfo = currLine.split("[ ]+");
  16.             //System.out.println(Arrays.toString(currInfo));
  17.             String companyName = currInfo[0];
  18.             String nutName = currInfo[1];
  19.             //System.out.println(Arrays.toString(currInfo));
  20.             currInfo[2] = currInfo[2].replaceAll("[^0-9]+", "");
  21.             Integer nutsAmount = Integer.parseInt(currInfo[2]);
  22.            
  23.             if (nutMap.containsKey(companyName)) {
  24.                 LinkedHashMap<String, Integer> amountMap = nutMap.get(companyName);
  25.                 if (amountMap.containsKey(nutName)) {
  26.                     Integer currAm = amountMap.get(nutName);
  27.                     amountMap.put(nutName, nutsAmount + currAm);
  28.                 } else {
  29.                     amountMap.put(nutName, nutsAmount);
  30.                 }
  31.                 nutMap.put(companyName, amountMap);
  32.                
  33.             } else {
  34.                 LinkedHashMap<String, Integer> amountMap = new LinkedHashMap<String, Integer>();
  35.                 amountMap.put(nutName, nutsAmount);
  36.                 nutMap.put(companyName, amountMap);
  37.             }
  38.         }
  39.         //System.out.println(nutMap.toString());
  40.        
  41.         for (Map.Entry<String, LinkedHashMap<String, Integer>> entry1 : nutMap.entrySet()) {
  42.             LinkedHashMap<String, Integer> amountMap = entry1.getValue();
  43.             System.out.printf("%s: ", entry1.getKey());
  44.             String amounts = "";
  45.             for (Map.Entry<String, Integer> entry2 : amountMap.entrySet()) {
  46.                 amounts += String.format("%s-%skg, ", entry2.getKey(), entry2.getValue());
  47.             }
  48.             System.out.println(amounts.substring(0, amounts.length() - 2));
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement