Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. n, k, m = map(int, input().split())
  2.  
  3. train = []
  4. test = []
  5. output = []
  6.  
  7.  
  8. def k_nearest(dif):
  9. tmp = []
  10. while len(dif) > k:
  11. dif.sort()
  12. tmp = dif.pop()
  13. nearest = [0 for i in range(n)]
  14. for i in range(len(dif)):
  15. nearest[dif[i][1]] += 1
  16. if nearest.count(max(nearest)) > 1:
  17. nearest[tmp[1]] += 1
  18. return nearest.index(max(nearest))
  19.  
  20.  
  21. def classify(weight, height):
  22. dif = []
  23. for j in range(len(train)):
  24. dif.append(max(abs(weight - train[j][1]), abs(height - train[j][2])), train[j][0])
  25. index = k_nearest(dif)
  26. train.append([index, weight, height])
  27. train.sort()
  28. output.append(index)
  29.  
  30.  
  31. for i in range(n):
  32. w, h = map(int, input().split())
  33. train.append([i, w, h])
  34.  
  35. for i in range(m):
  36. w, h = map(int, input().split())
  37. test.append([w, h])
  38.  
  39. for i in range(m):
  40. classify(test[i][0], test[i][1])
  41.  
  42. s = ''
  43. for x in output:
  44. s += str(x + 1) + ' '
  45. s = s.strip()
  46. print(s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement