diff --git a/2018/solutions/prob12.cpp b/2018/solutions/prob12.cpp index 9c483ea..6fa9774 100644 --- a/2018/solutions/prob12.cpp +++ b/2018/solutions/prob12.cpp @@ -4,27 +4,16 @@ int main() { bool valid = true; - std::string line; - std::vector words; - size_t wordsLength, halfWordsLength; + std::string line, full; + size_t i, j; while (std::cin >> line) { - words.push_back(line); + full.append(line); } - wordsLength = words.size() - 1; - halfWordsLength = wordsLength / 2; - for (size_t i = 0; i <= halfWordsLength; i++) { - for (size_t j = 0; j <= halfWordsLength; j++) { - if (words[i][j] != words[j][i]) - valid = false; - - if (words[i][j] != words[wordsLength - i][wordsLength - j]) - valid = false; - - if (words[i][j] != words[wordsLength - j][wordsLength - i]) - valid = false; - } + for (i = full.size() - 1, j = 0; i > 0; i--, j++) { + if (full[i] != full[j]) + valid = false; } std::cout << ((valid) ? "TRUE" : "FALSE") << std::endl;