Jonatan Gezelius 4 жил өмнө
parent
commit
c147fb1f8e
4 өөрчлөгдсөн 86 нэмэгдсэн , 0 устгасан
  1. 42 0
      06/a.py
  2. 42 0
      06/b.py
  3. 1 0
      06/example.txt
  4. 1 0
      06/infile.txt

+ 42 - 0
06/a.py

@@ -0,0 +1,42 @@
+import os, argparse
+
+
+def solve_task(filename):
+    with open(filename) as infile:
+        for raw_line in infile:
+            line = raw_line.rstrip()
+            inputs = [int(x) for x in line.split(',')]
+            bins = {x:0 for x in range(9)}
+            for i in inputs:
+                bins[i] += 1
+            
+            print(bins)
+            for day in range(80):
+                next_bin = {x:0 for x in range(9)}
+                for key,val in bins.items():
+                    if key == 0:
+                        next_bin[6] += val
+                        next_bin[8] = val
+                    else:
+                        next_bin[key-1] += val
+                bins = next_bin
+            
+            number_of_fish = 0
+            for k,fish in bins.items():
+                number_of_fish += fish
+
+            print(number_of_fish)
+    os.system("pause")
+
+def parse_arguments():
+    parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
+    parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
+    args = parser.parse_args()
+    return args
+
+def main():
+    args = parse_arguments()
+    solve_task(args.filename)
+
+if __name__ == "__main__":
+    main()

+ 42 - 0
06/b.py

@@ -0,0 +1,42 @@
+import os, argparse
+
+
+def solve_task(filename):
+    with open(filename) as infile:
+        for raw_line in infile:
+            line = raw_line.rstrip()
+            inputs = [int(x) for x in line.split(',')]
+            bins = {x:0 for x in range(9)}
+            for i in inputs:
+                bins[i] += 1
+            
+            print(bins)
+            for day in range(256):
+                next_bin = {x:0 for x in range(9)}
+                for key,val in bins.items():
+                    if key == 0:
+                        next_bin[6] += val
+                        next_bin[8] = val
+                    else:
+                        next_bin[key-1] += val
+                bins = next_bin
+            
+            number_of_fish = 0
+            for k,fish in bins.items():
+                number_of_fish += fish
+
+            print(number_of_fish)
+    os.system("pause")
+
+def parse_arguments():
+    parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
+    parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
+    args = parser.parse_args()
+    return args
+
+def main():
+    args = parse_arguments()
+    solve_task(args.filename)
+
+if __name__ == "__main__":
+    main()

+ 1 - 0
06/example.txt

@@ -0,0 +1 @@
+3,4,3,1,2

+ 1 - 0
06/infile.txt

@@ -0,0 +1 @@
+3,5,1,5,3,2,1,3,4,2,5,1,3,3,2,5,1,3,1,5,5,1,1,1,2,4,1,4,5,2,1,2,4,3,1,2,3,4,3,4,4,5,1,1,1,1,5,5,3,4,4,4,5,3,4,1,4,3,3,2,1,1,3,3,3,2,1,3,5,2,3,4,2,5,4,5,4,4,2,2,3,3,3,3,5,4,2,3,1,2,1,1,2,2,5,1,1,4,1,5,3,2,1,4,1,5,1,4,5,2,1,1,1,4,5,4,2,4,5,4,2,4,4,1,1,2,2,1,1,2,3,3,2,5,2,1,1,2,1,1,1,3,2,3,1,5,4,5,3,3,2,1,1,1,3,5,1,1,4,4,5,4,3,3,3,3,2,4,5,2,1,1,1,4,2,4,2,2,5,5,5,4,1,1,5,1,5,2,1,3,3,2,5,2,1,2,4,3,3,1,5,4,1,1,1,4,2,5,5,4,4,3,4,3,1,5,5,2,5,4,2,3,4,1,1,4,4,3,4,1,3,4,1,1,4,3,2,2,5,3,1,4,4,4,1,3,4,3,1,5,3,3,5,5,4,4,1,2,4,2,2,3,1,1,4,5,3,1,1,1,1,3,5,4,1,1,2,1,1,2,1,2,3,1,1,3,2,2,5,5,1,5,5,1,4,4,3,5,4,4