fork download
  1. #include<stdio.h>
  2. main()
  3. {
  4. int n, m, x1[20], y1[20], x2[20], y2[20], cap[20], i, j, k[20], l[20], temp[20], p[20], a, b[20] = {0}, c = 0;
  5. scanf("%d", &n);
  6. for(i = 0; i < n; i++)
  7. scanf("%d%d%d", &x1[i], &y1[i], &cap[i]);
  8. scanf("%d", &m);
  9. for(j = 0; j < m; j++){
  10. scanf("%d%d", &x2[j], &y2[j]);
  11. for(i = 0; i < n; i++){
  12. k[i] = x2[j] - x1[i];
  13. l[i] = y2[j] - y1[i];
  14. if(k[i] < 0)
  15. k[i] = -k[i];
  16. if(l[i] < 0)
  17. l[i] = -l[i];
  18. p[i] = k[i] + l[i];
  19. }
  20. for(i = 0; i < n - 1; i++)
  21. if(p[i] > p[i+1]){
  22. temp[i] = p[i];
  23. p[i] = p[i+1];
  24. p[i+1] = temp[i];
  25. }
  26. for(i = 0; i < n; i++)
  27. for(a = n-1; (a >= 0) && a != i; a--)
  28. if(cap[i] > 0){
  29. if((k[i] + l[i] == p[0]) && (k[i] + l[i] != k[a] + l[a])){
  30. cap[i]--;
  31. b[i]++;
  32. }
  33. else if((k[i] + l[i] == k[a] + l[a]) && (k[i] + l[i] == p[0])){
  34. if(x1[i] < x1[a]){
  35. cap[i]--;
  36. b[i]++;
  37. }
  38. else if((x1[a] < x1[i]) && (cap[a] <= 0)){
  39. cap[i]--;
  40. b[i]++;
  41. }
  42. else if (x1[a] == x1[i])
  43. if(y1[i] < y1[a]){
  44. cap[i]--;
  45. b[i]++;
  46. }
  47. }
  48. }
  49. }
  50.  
  51. for(i = 0; i < n; i++)
  52. printf("%d\n", b[i]);
  53. }
  54.  
  55.  
  56.  
  57.  
  58.  
Success #stdin #stdout 0s 9432KB
stdin
2
1 1 1
100 100 100
3
0 0
2 2
3 3
stdout
1
0