#include #include "word_ladder.h" // Please note: it's not good practice to test your code via a main function // that does printing. Instead, you should be using your test folder. This file // should only really be used for more "primitive" debugging as we know that // working solely with test frameworks might be overwhelming for some. namespace { void print_generate(const std::string& from, const std::string& to, const auto& lexicon) { const auto ladder = word_ladder::generate(from, to, lexicon); std::cout << from << ':' << to << " has " << std::size(ladder) << " solutions\n"; for (const auto& solution : ladder) { std::cout << " "; for (const auto& word : solution) { std::cout << word << ' '; } std::cout << '\n'; } std::cout << '\n'; } } // namespace auto main() -> int { const auto english_lexicon = word_ladder::read_lexicon("./english.txt"); print_generate("at", "it", english_lexicon); print_generate("fly", "sky", english_lexicon); print_generate("code", "data", english_lexicon); print_generate("work", "play", english_lexicon); print_generate("awake", "sleep", english_lexicon); print_generate("airplane", "tricycle", english_lexicon); print_generate("atlases", "cabaret", english_lexicon); }