Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. def add(a, b, m):
  2. res = [0] * m
  3. for i in range(m):
  4. res[i] = (a[i] + b[i]) % 2
  5. return res
  6.  
  7. def cmp(a, b, m):
  8. res = 1
  9. for i in range(m):
  10. if a[i] != b[i]:
  11. res = 0
  12. break
  13. return res
  14.  
  15. def contain(a, matrix, m):
  16. for i in matrix:
  17. if cmp(a, i[0], m):
  18. return 1
  19. return 0
  20.  
  21. n, m = map(int, input().split())
  22. matrix = [0] * n
  23. for i in range(n):
  24. matrix[i] = list(map(int, input().split()))
  25. x = 2 ** n
  26. ans = []
  27. for i in range(x):
  28. binary = bin(i)[2:]
  29. permutation = (n - len(binary)) * "0" + binary
  30. curr = [0] * m
  31. for j in range(n):
  32. if permutation[j] == "1":
  33. curr = add(curr, matrix[j], m)
  34. if contain(curr, ans, m):
  35. print(permutation, curr)
  36. else:
  37. ans.append([curr, permutation])
  38.  
  39. for i in range(len(ans)):
  40. for j in range(i + 1, len(ans)):
  41. if cmp(ans[i], ans[j], m):
  42. print(i, j, ans[i])
  43.  
  44. print()
  45. for i in range(len(ans)):
  46. print(i, *ans[i])
  47.  
  48. # A
  49. # 0 1 1 1 1 1 1 1 1 0 0 1 0 0
  50. # 0 1 1 1 0 1 1 1 0 1 1 0 1 1
  51. # 0 1 1 1 1 1 1 1 1 0 1 0 1 1
  52. # 0 0 0 0 0 0 0 0 0 0 1 1 1 1
  53.  
  54. # B
  55. # 1 1 0 0 1 1 0 1 1 1 1 0 0 0
  56. # 1 1 0 1 0 0 0 1 1 0 0 1 0 0
  57. # 0 0 0 0 1 0 1 0 0 1 0 0 1 1
  58. # 1 1 0 0 0 1 1 1 1 0 1 0 1 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement