Explorar o código

07.10.2026 added 4 variant

villis hai 2 semanas
pai
achega
a382cf8df0
Modificáronse 2 ficheiros con 76 adicións e 0 borrados
  1. 31 0
      07.10.2026/problem1.py
  2. 45 0
      07.10.2026/problem2.py

+ 31 - 0
07.10.2026/problem1.py

@@ -0,0 +1,31 @@
+# чтение данных из файла
+f = open("INPUT.TXT")
+w, h = map(int, f.readline().split())
+# первое изображение
+img1 = []
+for i in range(h):
+    img1.append(f.readline().strip())
+
+# второе изображение
+img2 = []
+for i in range(h):
+    img2.append(f.readline().strip())
+
+# таблица истинности
+op = f.readline().replace(" ", "").strip()
+f.close()
+
+result = []
+for i in range(h):
+    row = ""
+    for j in range(w):
+        a = int(img1[i][j])
+        b = int(img2[i][j])
+        # индекс в таблице
+        row += op[a * 2 + b]
+    result.append(row)
+
+out = open("OUTPUT.TXT", "w")
+for row in result:
+    out.write(row + "\n")
+out.close()

+ 45 - 0
07.10.2026/problem2.py

@@ -0,0 +1,45 @@
+f = open("INPUT.TXT")
+n = int(f.readline())
+size = n * n
+
+# таблица судоку
+table = []
+for i in range(size):
+    row = list(map(int, f.readline().split()))
+    table.append(row)
+f.close()
+
+# нужные числа
+need = set(range(1, size + 1))
+
+ok = True
+
+# проверка строк
+for i in range(size):
+    if set(table[i]) != need:
+        ok = False
+
+# проверка столбцов
+for j in range(size):
+    col = []
+    for i in range(size):
+        col.append(table[i][j])
+    if set(col) != need:
+        ok = False
+
+# проверка соседей
+for bi in range(n):
+    for bj in range(n):
+        block = []
+        for i in range(n):
+            for j in range(n):
+                block.append(table[bi * n + i][bj * n + j])
+        if set(block) != need:
+            ok = False
+
+out = open("OUTPUT.TXT", "w")
+if ok:
+    out.write("Correct\n")
+else:
+    out.write("Incorrect\n")
+out.close()