Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- /*
- * Each digit is 3x5
- * May not be a valid digit
- * Each one is separated by a space
- * Each digit always takes up 3x5 (so a 1 is two columns of spaces and 1 column of *)
- * Each character is a * or space with a newline at the end of a line
- * Process digits. If number is divisible by 6, then print BEER!!, otherwise BOOM!!
- */
- public class ProblemF {
- public static void main(String[] args){
- Scanner in = new Scanner(System.in);
- boolean digits[][] = new boolean[1][1];// fuck you java
- boolean realDigits[][][] = {
- {{true,true,true},{true,false,true},{true,false,true},{true,false,true},{true,true,true}},
- {{false,false,true},{false,false,true},{false,false,true},{false,false,true},{false,false,true}},
- {{true,true,true},{false,false,true},{true,true,true},{true,false,false},{true,true,true}},
- {{true,true,true},{false,false,true},{true,true,true},{false,false,true},{true,true,true}},
- {{true,false,true},{true,false,true},{true,true,true},{false,false,true},{false,false,true}},
- {{true,true,true},{true,false,false},{true,true,true},{false,false,true},{true,true,true}},
- {{true,true,true},{true,false,false},{true,true,true},{true,false,true},{true,true,true}},
- {{true,true,true},{false,false,true},{false,false,true},{false,false,true},{false,false,true}},
- {{true,true,true},{true,false,true},{true,true,true},{true,false,true},{true,true,true}},
- {{true,true,true},{true,false,true},{true,true,true},{false,false,true},{true,true,true}}
- };
- for(int i=0; i<5; i++){
- String line = in.nextLine();
- if(i == 0)digits = new boolean[5][line.length()];
- for(int j=0; j<line.length();j++){
- if(line.charAt(j) == '*')digits[i][j] = true;
- else digits[i][j] = false;
- }
- }
- int numDigits = (digits[0].length + 1)/4;
- for(int i=0; i<numDigits; i++){
- boolean digit[][] = new boolean[5][3];
- for(int c=0; c<3; c++){
- for(int r=0;r<5; r++){
- digit[r][c] = digits[r][(i*4)+c];
- }
- }
- int digitValue = -1;
- boolean nextRealDigit;
- for(int j=0; j<10; j++){
- nextRealDigit = false;
- digitValue = j;
- for(int r=0; r<5; r++){
- for(int c=0; c<3; c++){
- if(digit[r][c] != realDigits[i][r][c]){
- nextRealDigit = true;
- digitValue = -1;
- break;
- }
- }
- if(nextRealDigit){
- break;
- }
- }
- if(!nextRealDigit){
- break;
- }
- }
- System.out.println("Digit " + i + " is " + digitValue);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement