diff --git a/.idea/dictionaries/gapi.xml b/.idea/dictionaries/gapi.xml
new file mode 100644
index 0000000..bb3ec91
--- /dev/null
+++ b/.idea/dictionaries/gapi.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/domace_naloge.iml b/.idea/domace_naloge.iml
index d0876a7..cd3a7f0 100644
--- a/.idea/domace_naloge.iml
+++ b/.idea/domace_naloge.iml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
index 105ce2d..dd4c951 100644
--- a/.idea/inspectionProfiles/profiles_settings.xml
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -1,5 +1,6 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6b8be7e..ad1f51d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,9 @@
-
+
+
+
+
diff --git a/08_zmagozmagovalci/__init__.py b/08_zmagozmagovalci/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/08_zmagozmagovalci/naloga.py b/08_zmagozmagovalci/naloga.py
new file mode 100644
index 0000000..a4836fd
--- /dev/null
+++ b/08_zmagozmagovalci/naloga.py
@@ -0,0 +1,16 @@
+def hitrejsi(kolesar1, kolesar2, razmerja):
+ if dokazov(kolesar1, kolesar2, razmerja):
+ return kolesar1
+ elif dokazov(kolesar2, kolesar1, razmerja):
+ return kolesar2
+ return None
+
+
+def dokazov(kolesar1, kolesar2, razmerja):
+ dokazi = 0
+ for kolesar in razmerja[kolesar1]:
+ if kolesar == kolesar2:
+ dokazi += 1
+ else:
+ dokazi += dokazov(kolesar, kolesar2, razmerja)
+ return dokazi
diff --git a/08_zmagozmagovalci/naloga_test.py b/08_zmagozmagovalci/naloga_test.py
new file mode 100644
index 0000000..d6fdd0d
--- /dev/null
+++ b/08_zmagozmagovalci/naloga_test.py
@@ -0,0 +1,69 @@
+from .naloga import *
+
+from itertools import pairwise
+import unittest
+
+razmerja = {'Ana': {'Vera', 'Cilka'},
+ 'Berta': {'Greta', 'Klara', 'Iva', 'Cilka'},
+ 'Cilka': {'Olga'},
+ 'Črtomira': set(),
+ 'Dani': {'Liza', 'Ana', 'Fanči', 'Cilka', 'Micka', 'Greta'},
+ 'Ema': set(),
+ 'Fanči': {'Liza', 'Poldka', 'Cilka'},
+ 'Greta': set(),
+ 'Helga': set(),
+ 'Iva': {'Ema', 'Helga'},
+ 'Jana': {'Liza', 'Dani', 'Berta', 'Micka', 'Tina', 'Greta'},
+ 'Klara': {'Helga', 'Nina'},
+ 'Liza': {'Vera', 'Olga', 'Rezka'},
+ 'Micka': {'Liza', 'Saša', 'Urša'},
+ 'Nina': {'Olga', 'Poldka'},
+ 'Olga': {'Poldka'},
+ 'Poldka': set(),
+ 'Rezka': {'Saša'},
+ 'Saša': set(),
+ 'Špela': {'Žana'},
+ 'Tina': set(),
+ 'Urša': {'Vera'},
+ 'Vera': set(),
+ 'Zoja': {'Žana', 'Tina'},
+ 'Žana': set()}
+
+razmerja2 = {x: {y} for x, y in pairwise(sorted(razmerja))}
+razmerja2.update({"Žana": set(), "Trelawney": set()})
+
+
+class Test(unittest.TestCase):
+ def test_01_obvezna(self):
+ self.assertEqual("Jana", hitrejsi("Jana", "Berta", razmerja))
+ self.assertEqual("Jana", hitrejsi("Berta", "Jana", razmerja))
+ self.assertEqual("Berta", hitrejsi("Berta", "Poldka", razmerja))
+ self.assertEqual("Berta", hitrejsi("Poldka", "Berta", razmerja))
+ self.assertEqual("Berta", hitrejsi("Poldka", "Berta", razmerja))
+ self.assertIsNone(hitrejsi("Saša", "Berta", razmerja))
+ self.assertIsNone(hitrejsi("Berta", "Saša", razmerja))
+ self.assertIsNone(hitrejsi("Špela", "Tina", razmerja))
+ self.assertIsNone(hitrejsi("Jana", "Črtomira", razmerja))
+ self.assertIsNone(hitrejsi("Črtomira", "Jana", razmerja))
+
+ self.assertEqual("Ana", hitrejsi("Ana", "Žana", razmerja2))
+ self.assertEqual("Ana", hitrejsi("Žana", "Ana", razmerja2))
+ self.assertIsNone(hitrejsi("Ana", "Trelawney", razmerja2))
+ self.assertIsNone(hitrejsi("Ana", "Trelawney", razmerja2))
+
+ def test_02_dokazov(self):
+ self.assertEqual(1, dokazov("Jana", "Berta", razmerja))
+ self.assertEqual(0, dokazov("Berta", "Jana", razmerja))
+ self.assertEqual(4, dokazov("Jana", "Cilka", razmerja))
+ self.assertEqual(1, dokazov("Jana", "Nina", razmerja))
+ self.assertEqual(5, dokazov("Jana", "Liza", razmerja))
+ self.assertEqual(10, dokazov("Jana", "Olga", razmerja))
+ self.assertEqual(12, dokazov("Jana", "Poldka", razmerja))
+ self.assertEqual(1, dokazov("Špela", "Žana", razmerja))
+
+ self.assertEqual(1, dokazov("Ana", "Žana", razmerja2))
+ self.assertEqual(0, dokazov("Žana", "Ana", razmerja2))
+
+
+if __name__ == "__main__":
+ unittest.main()