Last active
August 29, 2015 14:05
-
-
Save IuryAlves/806f26b521d10a537629 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
""" | |
Participantes: | |
Zorak, Iury, Lucas Rogério, Willian, Lucas Campos, Bruno Henrique, Elias, Rafael, Bustalover, Jhonny, Plinio | |
""" | |
import unittest | |
def mic(mictorios): | |
l = [0]* len(mictorios) | |
soma = list(mictorios) | |
def _verifica(valor1, valor2, valor3 = 0): | |
return not valor1 + valor2 + valor3 | |
def _atualiza (index): | |
l[index], soma[index] = 1, 1 | |
for i , element in enumerate(mictorios): | |
if i == len(mictorios) -1: | |
if _verifica(soma[i-1],soma[i]): | |
_atualiza(i) | |
elif i == 0: | |
if _verifica(soma[i+1], soma[i]): | |
_atualiza(i) | |
else: | |
if _verifica(soma[i+1], soma[i], soma[i-1]): | |
_atualiza(i) | |
return l | |
class Test(unittest.TestCase): | |
def test_1(self): | |
self.assertEqual(mic([0, 0, 0]), [1, 0, 1]) | |
def test_2(self): | |
self.assertEqual(mic([0, 1, 0]), [0, 0, 0]) | |
def test_3(self): | |
self.assertEqual(mic([1, 0, 0]), [0, 0, 1]) | |
def test_4(self): | |
self.assertEqual(mic([1, 0, 0, 1]), [0, 0, 0, 0]) | |
def test_5(self): | |
self.assertEqual(mic([1, 1, 0, 0, 1]), [0, 0, 0, 0, 0]) | |
def test_6(self): | |
self.assertEqual(mic([1, 1, 1]), [0, 0, 0]) | |
def test_7(self): | |
self.assertEqual(mic([1, 0, 0, 0, 0, 1, 0]), [0, 0, 1, 0, 0, 0, 0]) | |
def test_8(self): | |
self.assertEqual(mic([0]), [1]) | |
def test_9(self): | |
self.assertEqual(mic([1]), [0]) | |
def test_10(self): | |
self.assertEqual(mic([1, 0]), [0, 0]) | |
def test_11(self): | |
self.assertEqual(mic([0, 1]), [0, 0]) | |
def test_12(self): | |
self.assertEqual(mic([0, 0]), [1, 0]) | |
def test_13(self): | |
self.assertEqual(mic([0, 0, 1]), [1, 0, 0]) | |
if __name__ == '__main__': | |
unittest.main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Distribuição de Mictórios | |
Um problema enfrentado pelos homens no uso de mictórios em banheiros públicos é o constrangimento causado por outro homem urinando no mictório ao lado. Uma situação contrangedora é definida quando dois "mijões" deveriam ocupar mictórios adjacentes. | |
Dada uma quantidade de mictórios em um banheiro e a ocupação inicial deles (informando em qual deles já existe um "mijão"), determine quantos "mijões" ainda podem usar os mictórios e qual a posição deles antes para que não ocorra uma situação constrangedora. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment