Algorytm generowania krzyżówki

Mając listę słów, jak byś ułożył je w siatkę krzyżówek? Nie musiałaby przypominać „właściwej” krzyżówki, która jest symetryczna lub podobna: w zasadzie wystarczy podać pozycję początkową i kierunek dla każdego