Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.08 KB | None | 0 0
  1. import numpy as np
  2. import time
  3. start_time = time.time()
  4.  
  5. def lataa_tilasto(tiedosto):
  6.  
  7.     grid = np.zeros((1000, 1000), dtype="int16")
  8.     data = [] # ID, (startcoord1, startcoord2), (size1, size2)
  9.  
  10.     with open(tiedosto, "r") as file:
  11.         for line in file:
  12.             line = line.rstrip().split()
  13.             id = line[0]
  14.             startcoords = line[2].split(",")
  15.             startcoords = (int(startcoords[0]), int(startcoords[1][:-1]))
  16.             size = line[3].split("x")
  17.             size = (int(size[0]), int(size[1]))
  18.             data.append([id, startcoords, size])
  19.  
  20.     for claim in data:
  21.         grid[claim[1][0]:claim[1][0]+claim[2][0], claim[1][1]:claim[1][1]+claim[2][1]] += 1
  22.  
  23.     for dup in data:
  24.         if np.all(grid[dup[1][0]:dup[1][0]+dup[2][0], dup[1][1]:dup[1][1]+dup[2][1]] == 1):
  25.             print(dup[0])
  26.  
  27. #    print(np.sum(grid > 1))
  28.  
  29.  
  30. #lataa_tilasto('C:/Users/Jani S/Desktop/Python/Pycharm/Advent/testi3.txt')
  31. lataa_tilasto('C:/Users/Jani S/Desktop/Python/Pycharm/Advent/advent3.txt')
  32. print("--- %s seconds ---" % (time.time() - start_time))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement