задача-пересечение временных отрезков
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- Algor
- Маньяк
- Сообщения: 1355
- Зарегистрирован: 14 мар 2006, 01:38
- Откуда: Самара->Ванкувер
задача-пересечение временных отрезков
кинте плз формулу как проверить есть ли пересечение между 2мя временными отрезками (d1-d2) и (d3-d4). не хочется закладывать проверку вариантов, наверняка что-то поэллегантнее есть.
- sz
- Маньяк
- Сообщения: 1266
- Зарегистрирован: 17 фев 2003, 19:34
Re: задача-пересечение временных отрезков
Или я чего-то не понял, или:
d3 <= d2 and d1 <= d4
d3 <= d2 and d1 <= d4
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Re: задача-пересечение временных отрезков
ты прав - нет не понял 
d3--------d1------------d2---------d4
d1--------d3------------d4---------d2
d1--------d3------------d2---------d4
d3--------d1------------d4---------d2
етто 4 варианта расположения, задача как проверить быстро?
перевод задачи на язык понятный в еа законченъ

d3--------d1------------d2---------d4
d1--------d3------------d4---------d2
d1--------d3------------d2---------d4
d3--------d1------------d4---------d2
етто 4 варианта расположения, задача как проверить быстро?

перевод задачи на язык понятный в еа законченъ
- alpax
- Графоман
- Сообщения: 10522
- Зарегистрирован: 04 мар 2003, 17:39
- Откуда: Richmond, BC
Re: задача-пересечение временных отрезков
Или я чего-то не понял, или проверка, предложенная sz, работает во всех этих случаях.aissp писал(а):етто 4 варианта расположения, задача как проверить быстро?![]()
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Re: задача-пересечение временных отрезков
о блин ето я дятел
- Аман Ванкуверский
- Маньяк
- Сообщения: 2759
- Зарегистрирован: 18 окт 2005, 01:10
Re: задача-пересечение временных отрезков
причем в оффлайн разговоре выяснилось, что желательно уменьшить количество сравнений с 2-х до, хмм, меньшего количества
- sz
- Маньяк
- Сообщения: 1266
- Зарегистрирован: 17 фев 2003, 19:34
Re: задача-пересечение временных отрезков
Это тоже можно.Аман Ванкуверский писал(а):причем в оффлайн разговоре выяснилось, что желательно уменьшить количество сравнений с 2-х до, хмм, меньшего количества
if( ( ( d2 - d3 ) & ( d4 - d1 ) ) >= 0 )
{
// пересекаются
}
А если знать, для чего это нужно, то можно и от этой проверки избавиться.
Но вообще-то, копеечная экономия. Неужели бранч предиктор не справляется?