У кого какие варианты решения задачи по математике

Даны три отрезка на ­оси X с кординатами ­х1-х2, х3-х4, х5-х6 (­х1х2, х3х4, х5х6) . ­ Вопрос: Можно ли пер­едвинуть один из отре­зков так, чтобы между­ ними не было пробело­в т. е. чтобы они прев­ратились в один отрез­ок (отрезки могут нак­ладываться друг на др­уга) .
Варианты ответов - "­Невозможно", "Они и т­ак уже без пробелов", ­ или номер отрезка, к­оторый нужно передвин­уть (если отрезков не­сколько, указать мини­мальный номер) .
Пример 1-2, 3-4, 1-1­0
Ответ "Они и так уже­ без пробелов"
Пример 1-5, 30-40, 4­1-100
Ответ 1­
Пример 1-5, 30-40, 1­00-101
Ответ Невозможно. ­
Вы должны прислать в­нешнюю обработку, кот­орая бы решала данную­ задачу. Мой — они и, так без пробелов.
6 года назад от Анастасия Лихачева

1 ответ

0 голосов
1. Выставить отрезки по возрастанию левой кординаты (с ними и будем работать, для удобства представим, что они изначально были отсортированы)
2. Если x3=x2 и x4=x5, то они уже без пробелов
3. Если (x4 - x5) + (x2 - x1) =0, то передвинуть нужно первый
4. Если (x2 - x5) + (x4 - x3) =0, то передвинуть нужно второй
5. Если (x2 - x3) + (x6 - x5) =0, то передвинуть нужно третий
6. Если ни один из ране проверенных вариантов не подошёл - Невозможно

учитывая, что мы изначально проводили сортировку, если среди пунктов 3, 4 и 5 мы получили больше одного правильного ответа, то нужно взять именно тот, который сответствует меньшему номеру отрезка в исходном варианте, а не после сортировки.
6 года назад от Руслана Радько

Связанные вопросы

1 ответ
6 года назад от Максим Ковалев
2 ответов
3 года назад от Алина Мартынова
1 ответ