problem2.py 927 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. f = open("INPUT.TXT")
  2. n = int(f.readline())
  3. size = n * n
  4. # таблица судоку
  5. table = []
  6. for i in range(size):
  7. row = list(map(int, f.readline().split()))
  8. table.append(row)
  9. f.close()
  10. # нужные числа
  11. need = set(range(1, size + 1))
  12. ok = True
  13. # проверка строк
  14. for i in range(size):
  15. if set(table[i]) != need:
  16. ok = False
  17. # проверка столбцов
  18. for j in range(size):
  19. col = []
  20. for i in range(size):
  21. col.append(table[i][j])
  22. if set(col) != need:
  23. ok = False
  24. # проверка соседей
  25. for bi in range(n):
  26. for bj in range(n):
  27. block = []
  28. for i in range(n):
  29. for j in range(n):
  30. block.append(table[bi * n + i][bj * n + j])
  31. if set(block) != need:
  32. ok = False
  33. out = open("OUTPUT.TXT", "w")
  34. if ok:
  35. out.write("Correct\n")
  36. else:
  37. out.write("Incorrect\n")
  38. out.close()