http://codeforces.com/contest/462/problem/A
это проблема, и я хочу решить ее с помощью C ++
может кто-нибудь объяснить мне, что он хочет здесь
особенно в строке вопроса
и это ответ, но я не могу этого понять
https://github.com/ahmedalbarbary/Competitive-programming/blob/master/Codeforces%20-%20not%20mine%20codes/problem-%20462A%20-%20Appleman%20and%20Easy%20Task
Спасибо за помощь
Вы должны рассчитывать на каждую клетку [i, j]
сколько из ячейки [i, j-1], ячейки [i, j + 1], ячейки [i-1, j], ячейки [i + 1, j] (т.е. соседние ячейки, то есть соседние ячейки) содержат 'o'
,
Если count является четным числом (для каждой ячейки [i, j]), результатом будет «да», иначе «нет». (Таким образом, проверка может быть завершена, когда обнаружен первый нечетный счет.) Таким образом, 0 также считается четным числом (конечно).
Возможная проблема:
Для пограничных ячеек некоторые из тестов должны быть пропущены, чтобы предотвратить доступ за границу.
Решение использует для этого хитрость: оно хранит ввод, начиная с индексов [1,1] вместо индексов [0,0]. Это оставляет «неиспользуемые» граничные ячейки вокруг фактической входной матрицы. Заранее: тесты для пропуска клеток не нужны.
Как память заполнена '*'
до того, как неиспользованные граничные ячейки не окажут никакого негативного влияния на счет.
Почему используется трюк:
Надеемся, что платформа будет выполнять доступ для чтения к граничным ячейкам и подсчитывать быстрее, чем проверка (для каждой ячейки), должны ли ячейки быть пропущены (для предотвращения доступа за пределы границы).
Других решений пока нет …