Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- public class Cronometro{
- //Lookup Table
- static byte[][] digito = {//1 2 3 4 5 6 7
- {1,1,1,1,1,1,0},//Digito 0
- {0,1,1,0,0,0,0},//Digito 1
- {1,1,0,1,1,0,1},//Digito 2
- {1,1,1,1,0,0,1},//Digito 3
- {0,1,1,0,0,1,1},//Digito 4
- {1,0,1,1,0,1,1},//Digito 5
- {1,0,1,1,1,1,1},//Digito 6
- {1,1,1,0,0,0,0},//Digito 7
- {1,1,1,1,1,1,1},//Digito 8
- {1,1,1,1,0,1,1},//Digito 9
- };
- public static void main(String args[]){
- List<Integer> resultados = new ArrayList<>();
- int nDigitos = 5;//Sabemos que el cronometro tiene 5 digitos
- int nCasos = Integer.parseInt(System.console().readLine());
- //Recorremos todos los casos
- for (int i = 0; i < nCasos; i++)
- {
- int probabilidad = 1;
- //Recorremos la cantidad de digitos (5)
- for (int j = 0; j < nDigitos; j++){
- probabilidad*=obtenDigitosPosibles(System.console().readLine());
- }
- resultados.add(probabilidad);
- }
- for (int i = 0; i < resultados.size() ;i++){
- System.out.println(resultados.get(i));
- }
- }
- //Entrada: una lista de numeros indicando los segmentos activados
- //Salida: el numero de digitos que las contienen (Entrada)
- public static int obtenDigitosPosibles(String flags){
- String []tmp = flags.split(" ");
- int contadores[] = new int[10];
- //Recorremos todos los segmentos que estan activados
- for (int i = 1; i < tmp.length; i++){
- int segmentoActivo = Integer.parseInt(tmp[i]);
- //Recorremos nuestros digitos
- for (int j = 0; j < 10; j++){
- //Si el segmento se encuentra en ese digito
- if (digito[j][segmentoActivo - 1] == 1){
- contadores[j]++;
- }
- }
- }
- int posibles = 0;
- for (int i = 0; i < 10; i++){
- if (contadores[i] == tmp.length - 1){
- posibles++;
- }
- }
- return posibles;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement