Given a list of words, how would you go about arranging them into a crossword grid?
It wouldn't have to be like a "proper" crossword puzzle which is symmetrical or anything like that: basically just output a starting position and direction for each word.
I came up with a solution which probably isn't the most efficient, but it works well enough. Basically:
This makes a working, yet often quite poor crossword. There were a number of alterations I made to the basic recipe above to come up with a better result.