#Torbert $words=File.read("dictionary.txt").chomp.split def valid_continuation a,b return false if a[-1].length != b.length or a.include? b count=0 for k in 0..(a[-1].length-1) do count += 1 if a[-1][k] != b[k] end return count==1 end def gen_neighbors(ladder,word) candidates=Array.new for w in $words do candidates << w if valid_continuation(ladder,w) end candidates end def dfs(ladder, goal,level) return [] end puts current,target=File.read("puzzle.txt").chomp.split ladder = Array.new ladder << current ladder = dfs(ladder, target, 5) puts "Ladder:" for k in 0...ladder.length do puts "#{k+1}. #{ladder[k]}" end puts if ladder.include?(target) puts "Success!!" else puts "Failure." end puts