Advertisement
TzvetanIG

MagicCarNumbers

May 25th, 2014
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.73 KB | None | 0 0
  1. import java.util.HashMap;
  2. import java.util.Scanner;
  3.  
  4. public class MagicCarNumbers {
  5.  
  6.     public static void main(String[] args) {
  7.         Scanner inputScanner = new  Scanner(System.in);
  8.        
  9.         int weight = inputScanner.nextInt();
  10.  
  11.         int[] weightsLetter = { 10, 20, 30, 50, 80, 110, 130, 160, 200, 240 };
  12.        
  13.         int count = 0;
  14.  
  15.         for (int i = 0; i < 10; i++) {
  16.             for (int j = 0; j < 10; j++) {
  17.                 for (int j2 = 0; j2 < 10; j2++) {
  18.                     for (int k = 0; k < 10; k++) {
  19.                         for (int k2 = 0; k2 < 10; k2++) {
  20.                             for (int l = 0; l < 10; l++) {
  21.                                 if (isMagicNumber(i, j, j2, k)) {
  22.                                     int weightMagicNumber = 30 + 10 + i + j
  23.                                             + j2 + k + weightsLetter[k2]
  24.                                             + weightsLetter[l];
  25.                                     if (weightMagicNumber == weight) {
  26.                                         count++;
  27.                                     }
  28.  
  29.                                 }
  30.                             }
  31.                         }
  32.                     }
  33.                 }
  34.             }
  35.         }
  36.        
  37.         System.out.println(count);
  38.  
  39.     }
  40.  
  41.     public static boolean isMagicNumber(int key1, int key2, int key3, int key4) {
  42.  
  43.         boolean isMagicNumber = false;
  44.         HashMap<Integer, Integer> number = new HashMap<>();
  45.  
  46.         if (number.containsKey(key1)) {
  47.             number.put(key1, number.get(key1) + 1);
  48.         } else {
  49.             number.put(key1, 1);
  50.         }
  51.  
  52.         if (number.containsKey(key2)) {
  53.             number.put(key2, number.get(key2) + 1);
  54.         } else {
  55.             number.put(key2, 1);
  56.         }
  57.  
  58.         if (number.containsKey(key3)) {
  59.             number.put(key3, number.get(key3) + 1);
  60.         } else {
  61.             number.put(key3, 1);
  62.         }
  63.  
  64.         if (number.containsKey(key4)) {
  65.             number.put(key4, number.get(key4) + 1);
  66.         } else {
  67.             number.put(key4, 1);
  68.         }
  69.  
  70.         if ((number.size() <= 2) && ( (key2 == key3) ||  
  71.                 (key1 == key2 && key3 == key4) || ("" + key1 + key2).equals("" + key3 + key4))) {
  72.             isMagicNumber = true;
  73.         }
  74.  
  75.         return isMagicNumber;
  76.     }
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement