Advertisement
Guest User

Untitled

a guest
Oct 1st, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.49 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /*
  4.  * Each digit is 3x5
  5.  * May not be a valid digit
  6.  * Each one is separated by a space
  7.  * Each digit always takes up 3x5 (so a 1 is two columns of spaces and 1 column of *)
  8.  * Each character is a * or space with a newline at the end of a line
  9.  * Process digits. If number is divisible by 6, then print BEER!!, otherwise BOOM!!
  10.  */
  11.  
  12. public class ProblemF {
  13.     public static void main(String[] args){
  14.         Scanner in = new Scanner(System.in);
  15.         boolean digits[][] = new boolean[1][1];// fuck you java
  16.         boolean realDigits[][][] = {
  17.             {{true,true,true},{true,false,true},{true,false,true},{true,false,true},{true,true,true}},
  18.             {{false,false,true},{false,false,true},{false,false,true},{false,false,true},{false,false,true}},
  19.             {{true,true,true},{false,false,true},{true,true,true},{true,false,false},{true,true,true}},
  20.             {{true,true,true},{false,false,true},{true,true,true},{false,false,true},{true,true,true}},
  21.             {{true,false,true},{true,false,true},{true,true,true},{false,false,true},{false,false,true}},
  22.             {{true,true,true},{true,false,false},{true,true,true},{false,false,true},{true,true,true}},
  23.             {{true,true,true},{true,false,false},{true,true,true},{true,false,true},{true,true,true}},
  24.             {{true,true,true},{false,false,true},{false,false,true},{false,false,true},{false,false,true}},
  25.             {{true,true,true},{true,false,true},{true,true,true},{true,false,true},{true,true,true}},
  26.             {{true,true,true},{true,false,true},{true,true,true},{false,false,true},{true,true,true}}
  27.         };
  28.        
  29.        
  30.         for(int i=0; i<5; i++){
  31.             String line = in.nextLine();
  32.            
  33.             if(i == 0)digits = new boolean[5][line.length()];
  34.             for(int j=0; j<line.length();j++){
  35.                 if(line.charAt(j) == '*')digits[i][j] = true;
  36.                 else digits[i][j] = false;
  37.             }
  38.         }
  39.        
  40.         int numDigits = (digits[0].length + 1)/4;
  41.        
  42.         for(int i=0; i<numDigits; i++){
  43.             boolean digit[][] = new boolean[5][3];
  44.             for(int c=0; c<3; c++){
  45.                 for(int r=0;r<5; r++){
  46.                     digit[r][c] = digits[r][(i*4)+c];
  47.                 }
  48.             }
  49.            
  50.             int digitValue = -1;
  51.             boolean nextRealDigit;
  52.             for(int j=0; j<10; j++){
  53.                 nextRealDigit = false;
  54.                 digitValue = j;
  55.                 for(int r=0; r<5; r++){
  56.                     for(int c=0; c<3; c++){
  57.                         if(digit[r][c] != realDigits[i][r][c]){
  58.                             nextRealDigit = true;
  59.                             digitValue = -1;
  60.                             break;
  61.                         }
  62.                     }
  63.                     if(nextRealDigit){
  64.                         break;
  65.                     }
  66.                 }
  67.                 if(!nextRealDigit){
  68.                     break;
  69.                 }
  70.             }
  71.            
  72.             System.out.println("Digit " + i + " is " + digitValue);
  73.         }
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement