Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from threading import Thread, Lock
- mutex = Lock()
- def find_squares(matrix, k):
- mutex.acquire()
- print(matrix)
- sum_of_el = 0
- for i in range(len(matrix) - 1):
- for j in range(len(matrix) - 1):
- for value in [matrix[i][j], matrix[i][j + 1], matrix[i + 1][j], matrix[i + 1][j + 1]]:
- sum_of_el += value
- if sum_of_el == k:
- print(matrix[i][j], ' ', matrix[i][j + 1], '\n', matrix[i + 1][j], ' ', matrix[i + 1][j + 1], '\n',
- sep='')
- elif sum_of_el < k and i + 2 < len(matrix) and j + 2 < len(matrix[i]):
- for value in [matrix[i][j + 2], matrix[i + 1][j + 2], matrix[i + 2][j], matrix[i + 2][j + 1],
- matrix[i + 2][j + 2]]:
- sum_of_el += value
- if sum_of_el == k:
- print(matrix[i][j], matrix[i][j + 1], matrix[i][j + 2])
- print(matrix[i + 1][j], matrix[i + 1][j + 1], matrix[i + 1][j + 2])
- print(matrix[i + 2][j], matrix[i + 2][j + 1], matrix[i + 2][j + 2])
- print()
- sum_of_el = 0
- mutex.release()
- matrix1 = [
- [1, 2, 0, 1],
- [2, 1, 0, 1],
- [0, 0, 2, 2],
- [0, 0, 1, 1]
- ]
- matrix2 = [
- [1, 0, 1],
- [5, 1, 3],
- [7, 0, 1]
- ]
- matrix3 = [
- [4, 3, 0, 0],
- [3, 0, 4, 0],
- [6, 2, 1, 0],
- [0, 2, 5, 2]
- ]
- thread1 = Thread(target=find_squares, args=(matrix1, 6))
- thread2 = Thread(target=find_squares, args=(matrix2, 5))
- thread3 = Thread(target=find_squares, args=(matrix3, 10))
- thread1.start()
- thread2.start()
- thread3.start()
- thread1.join()
- thread2.join()
- thread3.join()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement