Advertisement
Guest User

Untitled

a guest
Mar 1st, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. struct Target {
  8.  
  9. int id;
  10. int posX, posY;
  11.  
  12. bool visited;
  13. int takesTime;
  14. int openFrom;
  15. int openTo;
  16. int needsPackage;
  17.  
  18. Target(int i, int x, int y, int of, int ot, int n, int t){
  19. id = i;
  20. posX = x;
  21. posY = y;
  22. openFrom = of;
  23. openTo = ot;
  24. needsPackage = n;
  25. takesTime = t;
  26.  
  27. visited = false;
  28. }
  29.  
  30. };
  31.  
  32.  
  33. vector<Target*> map[100][100];
  34. Target* targets[10000];
  35.  
  36. bool visited[100][100];
  37.  
  38. int startPosX, startPosY;
  39.  
  40. int distance(int x1, int y1, int x2, int y2){
  41. return (abs(x2-x1) + abs(y2-y1));
  42. }
  43.  
  44. bool compare(Target* a, Target* b){
  45. return distance(a->posX, b->posX, startPosX, startPosY) < distance(b->posX, b->posX, startPosX, startPosY);
  46. }
  47.  
  48.  
  49. int getClosesOnTime(){
  50. return 1;
  51. }
  52.  
  53. int main(){
  54.  
  55. int klientow, maxPojemnosc;
  56.  
  57. cin >> klientow >> maxPojemnosc;
  58. cin >> startPosX >> startPosY;
  59.  
  60. vector<Target*> queue;
  61. int distSum = 0;
  62.  
  63. for(int x=0; x<klientow; x++){
  64. int id, posX, posY, openFrom, openTo, needsPackage, needsTime;
  65. cin >> id >> posX >> posY >> openFrom >> openTo >> needsPackage >> needsTime;
  66.  
  67. targets[id-1] = new Target(id, posX, posY, openFrom, openTo, needsPackage, needsTime);
  68. queue.push_back(targets[id-1]);
  69. distSum += distance(posX, posY, startPosX, startPosY);
  70. }
  71.  
  72. cout << queue.size() << " " << distSum*2 << endl;
  73. for(int x=0; x<queue.size(); x++){
  74. //cout << x << endl;
  75. cout << queue[x]->id << endl;
  76. }
  77. //while(!queue.empty()){
  78. //cout << queue.front()->id << endl;
  79. // queue.erase(queue.begin());
  80. //}
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement