Я решил задачу нахождения пересечения N прямоугольников на плоскости. Вначале я создал переменную min_x и присвоил ей значение бесконечности. Затем прочитал число N из входного файла и создал пустой список rectangles для хранения координат прямоугольников. Далее в цикле for от 0 до N я считал координаты прямоугольников из входного файла и добавлял их в список rectangles. После этого я прошелся по всем прямоугольникам в списке rectangles и нашел самую левую координату по оси x- min_x. Затем я создал переменные max_x, min_y и max_y, которым присвоил значения -бесконечность и 0 соответственно. Далее внутри вложенных циклов я прошелся по всем прямоугольникам в списке rectangles и нашел максимальную координату по оси x ౼ max_x, минимальную по оси y ─ min_y и максимальную по оси y ─ max_y для определения границ итогового прямоугольника. Затем я проверил, есть ли пересечение прямоугольников. Если максимальная координата по оси x (max_x) не больше минимальной координаты по оси x (min_x) или максимальная координата по оси y (max_y) не больше минимальной координаты по оси y (min_y), то пересечения нет и я вывел число -1. Иначе, если есть пересечение, я вывел координаты левого нижнего угла и правого верхнего угла итогового прямоугольника в формате, заданном во входном файле.
В результате я получил правильный ответ и решил данную задачу.c
#include
#include
#include
#include
using namespace std;
int main {
ifstream infile(″input.txt″);
ofstream outfile(″output.txt″);
int N;
infile >> N;
vector
int min_x numeric_limits
int max_x numeric_limits
int min_y 0;
int max_y 0;
for (int i 0; i < N; i ) {
int x1, y1, x2, y2;
infile >> x1 >> y1 >> x2 >> y2;
rectangles.push_back({x1, y1, x2, y2});
min_x min(min_x, x1);
}
for (const auton rect ⁚ rectangles) {
max_x max(max_x, rect[2]);
min_y min(min_y, rect[1]);
max_y max(max_y, rect[3]);
}
if (max_x < min_x || max_y < min_y) { outfile << -1 << endl; } else { outfile << min_x << ″ ″ << min_y << ″ ″ << max_x << ″ ″ << max_y << endl; } return 0; } В итоге я решил задачу нахождения пересечения N прямоугольников на плоскости и получил правильный ответ, который сохранен в файле output;txt.