Олимпиады по программированию

olympiads.ru

Олимпиады прошлых лет
2020/21
2019/20
2018/19
2017/18
2016/17
2015/16
2014/15
2013/14
2012/13
2011/12
2010/11
2009/10
2008/09
2007/08
2006/07

II Всероссийская заочная олимпиада школьников по информатике (2007/08)
Документы
Информация об олимпиаде
Обращение к организаторам региональных олимпиад
Регионы, участвующие в олимпиаде
Задачи и результаты
Задачи
Результаты олимпиады
Проверка решений на похожесть
Информация о проверке
Регистрация, изменение регистрационных данных
Персональная страничка участника
Текущие результаты
FAQ по работе с тестирующей системой
Связаться с оргкомитетом

Олимпиада проводится при поддержке Компьютерного супермаркета "НИКС" и компании Genius

Информационная поддержка:
журнал "Мир ПК"

II Всероссийская заочная олимпиада школьников по информатике, 2007/08 учебный год

Задача E. Стрелочки

Имя входного файла: e.in
Имя выходного файла: e.out
Максимальное время работы на одном тесте: 1 секунда
Максимальный объем используемой памяти: 64 мегабайта

На бумаге нарисовали клетчатое поле NxM клеток. В каждой клетке нарисовали стрелочку в одном из четырех направлений "вправо", "вверх", "влево" или "вниз".

Дальше в некоторую клетку этого поля ставят фишку. Затем эту фишку сдвигают в соседнюю клетку в направлении стрелочки, нарисованной в клетке, где стоит фишка. Затем ее снова сдвигают по стрелке, нарисованной в той клетке, где она оказалась. Так продолжается до тех пор, пока фишка не окажется за пределами поля. Однако возможно, что фишка будет бесконечно ходить по полю и никогда не выйдет за его пределы.

Напишите программу, которая по заданному полю определит количество клеток, начав с которых фишка никогда не покинет пределы поля.

Формат входных данных

Во входном файле заданы сначала размеры поля - число строк N и число столбцов M (1≤N≤1000, 1≤M≤1000). Далее идет N строк по M чисел в каждой, задающих направления стрелочек в клетках. Число 1 обозначает стрелочку вправо, 2 - вверх, 3 - влево, 4 - вниз. Числа в строке разделяются пробелами.

Формат выходных данных

В выходной файл выведите одно число - количество клеток, начав с которых фишка никогда не покинет пределы поля.

Примеры

e.in e.out Примечание
6 5
3 1 1 4 2
1 2 4 3 1
4 2 1 1 4
1 2 3 3 3
3 1 4 4 4
2 2 3 4 2
23
Этот пример соответствует приведенному рисунку. Клетки, начав с которых, фишка никогда не покинет пределов поля на рисунке выделены серым цветом.
2 2
1 2
3 4
0