Skip to content

Instantly share code, notes, and snippets.

@Maronato
Created June 17, 2018 14:52
Show Gist options
  • Save Maronato/820387f2a792600dcc2d0f42fb064c7c to your computer and use it in GitHub Desktop.
Save Maronato/820387f2a792600dcc2d0f42fb064c7c to your computer and use it in GitHub Desktop.
# Existem várias formas de fazer esse lab,
# mas eu quero que vocês aprendam sobre matrizes
# e acaba que ele pode ser resolvido bem rápido
# usando elas.
# Matrizes são tabelas que contém linhas e colunas
# Quando criamos uma matriz em python, criamos uma lista
# que contém listas dentro dela
# Cada uma dessas listas é uma "linha" da nossa matriz
# e cada um dos itens dentro dessas listas é um elemento em
# uma coluna.
#
# Ou seja, se eu tiver a matriz m:
# m = [
# ['a', 'b', 'c'],
# ['d', 'e', 'f'],
# ['g', 'h', 'i']
# ]
# Temos uma matriz com 3 linhas e 3 colunas
# A letra 'a' está na linha 1, coluna 1
# a letra 'f' está na linha 2, coluna 3
# a letra 'h' está na linha 3, coluna 2
# e assim em diante
#
# Agora, pra que vamos usar elas nesse lab?
# Vamos criar um "mapa de dados", ou "multiplexador".
# Lembra quando você fazia vários 'if' e 'else' pra decidir entre
# várias opções? Um multiplexador torna isso muito mais fácil!
# Se você definir cada linha e cada coluna como sendo uma das variáveis
# que você quer estudar, basta fazer do valor da sua linha x coluna como
# o resultado que você quer ver caso aquelas duas variáveis sejam selecionadas
#
# No caso do jogo, cada jogador pode escolher entre 5 valores e cada
# um desses 5 valores "ganha" de outros dois.
#
# Logo, podemos criar nosso multiplexador tendo 5 colunas e 5 linhas,
# onde, caso joguemos, por exemplo, 3, basta selecionar a linha 3 e ela
# vai dizer de quais números nós ganhamos e perdemos
# Os locais com True são os locais onde a linha selecionada ganha. False onde perde ou empata
mapa_do_jogo = [
[False, True, True, False, False], # Linha do 0. Ganha de 1 e de 2
[False, False, True, True, False], # Linha do 1. Ganha de 2 e de 3
[False, False, False, True, True], # Linha do 2. Ganha de 3 e de 4
[True, False, False, False, True], # Linha do 3. Ganha de 4 e de 0
[True, True, False, False, False], # Linha do 4. Ganha de 0 e de 1
]
# Lemos o número de partidas
n_partidas = int(input())
# Vamos contar quantas vezes cada um ganhou
x_vitorias = 0
d_vitorias = 0
# Fazemos um loop para todas as partidas
for partida in range(n_partidas):
# Lemos os valores que o Dario escolheu e o que o Xerxes escolheu
D, X = [int(jogada) for jogada in input().split()]
# Verificamos se o Dario ganharia do xerxes
if (mapa_do_jogo[D][X]):
# Se sim, adicionamos uma vitoria
d_vitorias += 1
else:
# Senão, o xerxes que leva
x_vitorias += 1
# No fim olhamos quem tem mais vitorias e imprimimos seu nome
if (x_vitorias > d_vitorias):
print("xerxes")
else:
print("dario")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment