35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
#include <iostream>
|
|
#include <string>
|
|
|
|
bool is_xmas(const char upper_left, const char upper_right,
|
|
const char center, const char lower_left, const char lower_right) {
|
|
if (center != 'A') {
|
|
return false;
|
|
}
|
|
return upper_left == 'M' && upper_right == 'M' && lower_left == 'S' && lower_right == 'S'
|
|
|| upper_left == 'M' && upper_right == 'S' && lower_left == 'M' && lower_right == 'S'
|
|
|| upper_left == 'S' && upper_right == 'M' && lower_left == 'S' && lower_right == 'M'
|
|
|| upper_left == 'S' && upper_right == 'S' && lower_left == 'M' && lower_right == 'M';
|
|
}
|
|
|
|
int main() {
|
|
std::string line[3];
|
|
int count = 0;
|
|
int line_number = 0;
|
|
while (std::getline(std::cin, line[++line_number % 3])) {
|
|
if (line_number < 3) {
|
|
continue;
|
|
}
|
|
for (int index = 1; index < line[(line_number - 1) % 3].size() - 1; index++) {
|
|
if (is_xmas(
|
|
line[(line_number - 2) % 3][index - 1], line[(line_number - 2) % 3][index + 1],
|
|
line[(line_number - 1) % 3][index],
|
|
line[line_number % 3][index - 1], line[line_number % 3][index + 1]
|
|
)) {
|
|
count++;
|
|
}
|
|
}
|
|
}
|
|
std::cout << count << std::endl;
|
|
return EXIT_SUCCESS;
|
|
}
|