programming problem



Write a program that reads a file containing a sorted list of
words (one word per line, no spaces, all lower case), then identifies
the
longest word in the file that can be constructed by concatenating
copies of
shorter words also found in the file.

For example, if the file contained:

cat
cats
catsdogcats
catxdogcatsrat
dog
dogcatsdog
hippopotamuses
rat
ratcatdogcat

The answer would be 'ratcatdogcat' - at 12 letters, it is the longest
word made up of other words in the list.


I'm having trouble coming up with anything other than starting with
the longest word in the list and checking for each of the other words
in the list, which seems incredibly inefficient, any ideas or
suggestions of things to look at?
.



Relevant Pages

  • Re: Otp Stuff,,, true? Dont know
    ... > A cat has 32 muscles in each ear. ... > A shark is the only fish that can blink with both eyes. ... > TYPEWRITER is the longest word that can be made using the letters only on ...
    (alt.support.arthritis)
  • Re: programming problem
    ... shorter words also found in the file. ... The answer would be 'ratcatdogcat' - at 12 letters, ... the longest word in the list and checking for each of the other words ... strip those characters from the front of the word and repeat ...
    (comp.programming)