Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n, k, m = map(int, input().split())
- train = []
- test = []
- output = []
- def k_nearest(dif):
- tmp = []
- while len(dif) > k:
- dif.sort()
- tmp = dif.pop()
- nearest = [0 for i in range(n)]
- for i in range(len(dif)):
- nearest[dif[i][1]] += 1
- if nearest.count(max(nearest)) > 1:
- nearest[tmp[1]] += 1
- return nearest.index(max(nearest))
- def classify(weight, height):
- dif = []
- for j in range(len(train)):
- dif.append(max(abs(weight - train[j][1]), abs(height - train[j][2])), train[j][0])
- index = k_nearest(dif)
- train.append([index, weight, height])
- train.sort()
- output.append(index)
- for i in range(n):
- w, h = map(int, input().split())
- train.append([i, w, h])
- for i in range(m):
- w, h = map(int, input().split())
- test.append([w, h])
- for i in range(m):
- classify(test[i][0], test[i][1])
- s = ''
- for x in output:
- s += str(x + 1) + ' '
- s = s.strip()
- print(s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement