Chris Smith преди 5 години
родител
ревизия
9c640c2cbc
променени са 2 файла, в които са добавени 1304 реда и са изтрити 0 реда
  1. 19
    0
      03.py
  2. 1285
    0
      data/03.txt

+ 19
- 0
03.py Целия файл

@@ -0,0 +1,19 @@
1
+import re
2
+from collections import defaultdict
3
+
4
+with open('data/03.txt', 'r') as file:
5
+    cells = defaultdict(list)
6
+    claims = map(lambda l: map(int, re.findall(r'\d+', l)), file.readlines())
7
+    ids = set()
8
+
9
+    for (cid, x, y, width, height) in claims:
10
+        ids.add(cid)
11
+        for i in range(width):
12
+            for j in range(height):
13
+                cells[(x + i, y + j)].append(cid)
14
+
15
+    overlaps = [c for c in cells.values() if len(c) > 1]
16
+    print(len(overlaps))
17
+
18
+    dupes = set(cid for sublist in overlaps for cid in sublist)
19
+    print(list(ids - dupes)[0])

+ 1285
- 0
data/03.txt
Файловите разлики са ограничени, защото са твърде много
Целия файл