(SPOJ) 1390 - Mini-Poker - Solução

import java.io.*;
import java.util.*;

class Main {
    public static void main(String[] args) throws NumberFormatException, IOException {
        Main processando = new Main();
        processando.processa();
        
        System.exit(0);
    }
    
    static int leitor(BufferedReader br) throws NumberFormatException, IOException {
        int n;
        int resp = 0;
        
        while (true) {
            n = br.read();
            if (n >= '0' && n <= '9') break;
        }
        while (true) {
            resp = resp*10 + n-'0';
            n = br.read();
            if (n < '0' || n > '9') break;
        }
        
        return resp;
    
    }
    
    void processa() throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        int qteCasos = leitor(br);
        
        int contador = 0;
        while (qteCasos > 0) {
            qteCasos--;
            int[] cartasRecebidas = new int[5];
           
            for (int i = 0; i < 5; i++) {
                cartasRecebidas[i] = leitor(br);
            }
       
            Arrays.sort(cartasRecebidas);
           
            int resposta = 0;
           
            int carta1 = cartasRecebidas[0];
            int carta2 = cartasRecebidas[1];
            int carta3 = cartasRecebidas[2];
            int carta4 = cartasRecebidas[3];
            int carta5 = cartasRecebidas[4];
           
            if (carta1 == carta2-1 && carta2 == carta3-1 && carta3 == carta4-1 && carta4 == carta5-1) {
                resposta = carta1+200;
            }
            else if (carta1 == carta2 && carta2 == carta3 && carta3 == carta4 && carta4 != carta5) {
                resposta = carta1+180;
            }
            else if (carta1 != carta2 && carta2 == carta3 && carta3 == carta4 && carta4 == carta5) {
                resposta = carta2+180;
            }           
            else if (carta1 == carta2 && carta2 == carta3 && carta4 == carta5 && carta3 != carta4) {
                resposta = carta1+160;     
            }
            else if (carta3 == carta4 && carta4 == carta5 && carta1 == carta2 && carta5 != carta1) {
                resposta = carta3+160;     
            }
            else if (carta2 == carta3 && carta3 == carta4 && carta1 == carta5 && carta2 != carta1) {
                resposta = carta2+160;     
            }
            else if (carta1 == carta2 && carta2 == carta3 && carta4 != carta5) {
                resposta = carta1+140;     
            }
            else if (carta3 == carta4 && carta4 == carta5 && carta1 != carta2) {
                resposta = carta3+140;     
            }
            else if (carta2 == carta3 && carta3 == carta4 && carta1 != carta5) {
                resposta = carta2+140;     
            }
            else if (carta1 == carta2 && carta3 == carta4 && carta2 != carta3) {
                resposta = 3*carta3 + 2*carta2 + 20;     
            }
            else if (carta2 == carta3 && carta4 == carta5 && carta3 != carta4) {
                resposta = 3*carta4 + 2*carta3 + 20;     
            }
            else if (carta1 == carta2 && carta4 == carta5 && carta2 != carta3 && carta3 != carta4) {
                resposta = 3*carta4 + 2*carta1 + 20;     
            }
            else if (carta1 == carta2 && carta2 != carta3 && carta3 != carta4 && carta4 != carta5) {
                resposta = carta1;     
            }
            else if (carta2 == carta3 && carta1 != carta3 && carta1 != carta4 && carta4 != carta5) {
                resposta = carta2;     
            }
            else if (carta3 == carta4 && carta1 != carta2 && carta2 != carta3 && carta2 != carta5) {
                resposta = carta3;     
            }
            else if (carta4 == carta5 && carta1 != carta2 && carta2 != carta3 && carta3 != carta4) {
                resposta = carta4;     
            }
           
            contador++;
            bw.write("Teste " + contador);
            bw.write("\n" + resposta + "\n\n");
        }
        
        bw.flush();
        bw.close();
        
        return;
    }
}

Comments

Popular posts from this blog

(Coderbyte) Dash Insert II - Solução

(Coderbyte) Run Length - Solução

(Coderbyte) Counting Minutes I - Solução