Algorithm
Problem Name: 2 AD-HOC - beecrowd | 2473
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/2473
Loteria
Por OBI - Olimpíada Brasileira de Informática 2014 Brazil
Timelimit: 1
Flavinho sabe que a chance de ganhar na loteria é bem pequena. Ele gosta muito de estudar probabilidade! Mas, justamente por entender de probabilidades, Flavinho segue o ditado, “quem não arrisca, não petisca!”, e faz um jogo toda semana.
Na loteria preferida dele, o jogador aposta seis números entre 1 e 99. No sorteio, também são escolhidos seis números ganhadores entre 1 e 99. Quem acerta 3, 4, 5 ou 6 números ganha como prêmio, respectivamente, um “terno”, uma “quadra”, uma “quina” ou uma “sena”.
Nesta tarefa, você deve escrever um programa que diga qual foi o prêmio que Flavinho ganhou, dados os seis números que ele apostou e os seis números que foram sorteados.
Entrada
A entrada consiste de duas linhas apenas. Na primeira linha são dados seis números inteiros distintos entre 1 e 99, representando a aposta do Flavinho. A segunda linha contém os seis números inteiros distintos sorteados.
Saída
Seu programa deve imprimir uma linha contendo uma palavra: “terno”, “quadra”, “quina” ou “sena”; caso Flavinho tenha acertado, respectivamente, 3, 4, 5, ou 6 números. Caso ele tenha acertado menos do que 3 números, imprima a palavra “azar”.
Exemplos de Entrada | Exemplos de Saída |
34 55 77 12 23 99 |
terno |
Code Examples
#1 Code Example with C Programming
Code -
C Programming
#include <stdio.h>
int main(void)
{
short numJogador[6], numSorteados[6];
unsigned short i, j, contador = 0;
for (i = 0; i < 6; i++)
scanf("%hu", &numJogador[i]);
for (i = 0; i < 6; i++)
scanf("%hu", &numSorteados[i]);
for (i = 0; i < 6; i++)
for (j = 0; j < 6; j++)
if (numJogador[i] == numSorteados[j])
contador++;
if (contador == 3)
printf("terno\n");
else if (contador == 4)
printf("quadra\n");
else if (contador == 5)
printf("quina\n");
else if (contador == 6)
printf("sena\n");
else if (contador < 3)
printf("azar\n");
}
Copy The Code &
Try With Live Editor
Input
5 3 77 55 42 34
Output
#2 Code Example with C++ Programming
Code -
C++ Programming
#include <cstdio>
int sorteado[8], seus[8], resp;
int main() {
for (int i = 0; i < 6; i++) {
scanf("%d", &sorteado[i]);
}
for (int i = 0; i < 6; i++) {
scanf("%d", &seus[i]);
}
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
resp += int(sorteado[i] == seus[j]);
}
}
if (resp < 3)
printf("azar\n");
else if (resp == 3)
printf("terno\n");
else if (resp == 4)
printf("quadra\n");
else if (resp == 5)
printf("quina\n");
else
printf("sena\n");
return 0;
}
Copy The Code &
Try With Live Editor
Input
5 3 77 55 42 34
Output
#3 Code Example with Javascript Programming
Code -
Javascript Programming
const { readFileSync } = require("fs")
const [result, bet] = readFileSync("/dev/stdin", "utf8")
.split("\n", 2)
.map((line) => line.split(" ", 6).map(value => Number.parseInt(value, 10)))
function main() {
const correctNumbersIntoBetQuantity = bet
.filter((value) => result.includes(value))
.length
switch (correctNumbersIntoBetQuantity) {
case 6: console.log("sena"); break
case 5: console.log("quina"); break
case 4: console.log("quadra"); break
case 3: console.log("terno"); break
default: console.log("azar"); break
}
}
main()
Copy The Code &
Try With Live Editor
Input
5 3 77 55 42 34
Output
#4 Code Example with Python Programming
Code -
Python Programming
a = str(input()).split()
b = str(input()).split()
i = len([x for x in a if x in b])
if i == 3: print('terno')
elif i == 4: print('quadra')
elif i == 5: print('quina')
elif i == 6: print('sena')
else: print('azar')
Copy The Code &
Try With Live Editor
Input
5 3 77 55 42 34
Output