An edit step is a transformation from one word x to another word y such that x and y are words in the dictionary, and x can be transformed to y by adding, deleting, or changing one letter. The transformations from dig to dog and from dog to do are both edit steps. An edit step ladder is a lexicographically ordered sequence of words w1, w2,…, wn such that the transformation from wi to wi+1 is an edit step for all i from 1 to n – 1.
For a given dictionary, you are to compute the length of the longest edit step ladder.
The input to your program consists of the dictionary: a set of lowercase words in lexicographic order at one word per line. No word exceeds 16 letters and there are at most 25,000 words in the dictionary.
The output consists of a single integer, the number of words in the longest edit step ladder.
cat dig dog fig fin fine fog log wine