(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;
}
}
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
Post a Comment