Mam taki problem algorytmiczny do rozwiązania: na siatce o wymiarach AxB rozmieszczone są dwa rodzaje punktów. Należy połączyć punkty tego samego rodzaju za pomoca odcinków złożonych z linii poziomych lub pionowych (odcinki mają tworzyć drzewo spójności dla danego zbioru punktów). Cały problem polega na tym, że odcinki tworzące połączenia dla pierwszego rodzaju punktów nie moga przecinać się z odcinkami drugiego rodzaju... Ma to być coś takiego:
___1____2
1oooo1_x
2____o___x
x_1oo1_xxx
x______2

x2xxxxxx2

Gdzie '1' i '2' to punkty do łączenia a 'o' i 'x' to połączenia między nimi.

Gdyby zbiór punktów był tylko jeden, to zadanie byłoby proste, ale tak - bardzo się komplikuje. Byłbym wdzięczny za jakąkolwiek pomoc, wskazanie algorytmu lub jakiś link.