Алгоритм генерации кроссворда

Имея список слов, как бы вы собрали их в сетку кроссвордов? Это не должно быть похоже на «правильный» кроссворд, который является симметричным или что-то в этом роде: в основном просто выводите начальную позицию и направление для каждого...