instance.h 789 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef INSTANCE_H
  2. #define INSTANCE_H
  3. #include <bits/stdc++.h>
  4. class pos {
  5. public:
  6. pos(int x, int y);
  7. int dist2(const pos &b) const;
  8. int x, y;
  9. };
  10. class warehouse {
  11. public:
  12. warehouse(pos p, std::vector<int> disp);
  13. pos p;
  14. std::vector<int> disp;
  15. };
  16. class order {
  17. public:
  18. order(int id, pos p, std::map<int, int> ord);
  19. pos p;
  20. int id;
  21. std::map<int, int> ord;
  22. };
  23. class instance {
  24. public:
  25. instance(); // read from stdin
  26. int find(pos p, int id, int quantity); // cherche une warehouse proche de x/y
  27. int row, col, drones, max_load;
  28. int T; // deadline
  29. int P; // # products
  30. int W; // # warehouses
  31. int C; // # orders
  32. std::vector<int> weights;
  33. std::vector<warehouse> wh;
  34. std::vector<order> orders;
  35. };
  36. #endif