#include #include using namespace std; const int MAX_BUSES = 1000; const int MAX_STOPS = 1000; const int MAX_DISTANCES = 1000; struct Stop { int xcoordinate; int ycoordinate; }; struct Bus { int lenght; int breaktime; }; int Distance(int x1, int y1, int x2, int y2) { int distance = abs(x1 - x2) + abs(y1 - y2); return distance; } int main() { int N;//брой спирки int M;//брой автобуси int x, y;//координати на спирките int L, R; //най-голяма дължина на маршрута и време за почивка int T, F; //минути за един ден и броя на фактите int A, B, C;//фактите за автобусите unsigned int D=-1;//общ пробег на автобусите int px, py, qx, qy; Stop stop[MAX_STOPS]; Bus bus[MAX_BUSES]; int distances[MAX_DISTANCES]; cin >> N; for (int i = 0; i < N; i++) { cin >> x >> y; stop[i].xcoordinate = x; stop[i].ycoordinate = y; } cin >> M; for (int j = 0; j < M; j++) { cin >> L >> R; bus[j].lenght = L; bus[j].breaktime = R; } cin >> T >> F; for (int k = 0; k < F; k++) { cin >> A >> B >> C; } cin >> D; for (int a = 0; a < N-1; a++) { distances[a] = Distance(stop[a].xcoordinate,stop[a].ycoordinate,stop[a+1].xcoordinate,stop[a+1].ycoordinate); } for (int b = 0; b < M; b++) { int K = 0; while (bus[b].lenght <= distances[b]) { bus[b].lenght -= distances[b]; K++; } cout << K << " "; for (int c = 0; c < K; c++) { if (distances[c]<=bus[b].lenght) { cout << c << " "; } } int bustime = bus[b].lenght + bus[b].breaktime; int Z = 0; while (bustime < T) { Z++; } cout << endl; cout << Z; } return 0; }