Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. /*
  2. * HOJ 464 - 菇菇園
  3. * author: roy4801
  4. * (C++)
  5. */
  6. #include <bits/stdc++.h>
  7.  
  8. using namespace std;
  9.  
  10. #define PROB "464"
  11. #define TESTC ""
  12.  
  13. #define USE_CPPIO() ios_base::sync_with_stdio(0); cin.tie(0)
  14. typedef long long int LL;
  15. typedef unsigned long long ULL;
  16. typedef pair<int, int> P;
  17. typedef pair<LL, LL> PLL;
  18. #define F first
  19. #define S second
  20. #define INF 0x3f3f3f3f
  21. #define MP make_pair
  22. #define MT make_tuple
  23. #define PB push_back
  24. #define PPB pop_back
  25. #define PF push_front
  26. #define PPF pop_front
  27. #define N 100
  28. int kase;
  29. int n, m, k; // mushroom, infected, distance
  30. int x, y;
  31. PLL nor;
  32. vector<PLL> inf;
  33. inline LL dis2(PLL a, PLL b)
  34. {
  35. LL tmp = a.F-b.F, tmp2 = a.S-b.S;
  36. return tmp*tmp + tmp2*tmp2;
  37. }
  38. int main()
  39. {
  40. #ifdef DBG
  41. freopen("./testdata/" PROB TESTC ".in", "r", stdin);
  42. freopen("./testdata/" PROB ".out", "w", stdout);
  43. #endif
  44. USE_CPPIO();
  45. cin >> kase;
  46. while(kase-- && cin >> n >> m >> k)
  47. {
  48. inf.clear();
  49. k *= k;
  50. for(int i = 0; i < n && cin >> x >> y; i++)
  51. {
  52. if(i < m)
  53. inf.PB(MP(x, y));
  54. else
  55. {
  56. nor = MP(x, y);
  57.  
  58. for(auto &p : inf)
  59. {
  60. if(dis2(p, nor) <= k)
  61. {
  62. inf.PB(nor);
  63. break;
  64. }
  65. }
  66. }
  67. }
  68. cout << inf.size() << '\n';
  69. }
  70.  
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement