Украинские Олимпиады
Украинские Олимпиады по Информатике
по Информатике

Материалы

 
 
Донецк'2003, II тур

Казино

В верхнем левом углу прямоугольного поля размерами NM размещается игральний кубик, разворот которого изображен на рисунке. Кубик ориентирован так, что передней грани соответствует единица, а слева находится грань, которой соответствует двойка. Клетки поля квадратные, их размеры совпадают с размерами грани кубика.

Кубик может двигаться по полю, переворачиваясь через одно из ребер, и попадать при этом в соседнюю снизу, сверху, справа или слева клетку поля. Например, если из начального состояния кубик двигается направо, то передней станет грань с двойкой, а если вниз — то с тройкой. Кубик не может выходить за пределы поля.

Задание

Напишите программу, которая по информации о поле находит один из возможных путей кубика из верхнего левого угла в нижний правый угол поля. При этом необходимо найти такой путь, чтобы передняя грань кубика в целевой клетке имела максимальное возможное значение. Кубик может посещать каждую клетку поля несколько раз.

Входные данные

Первая строка содержит два натуральных числа N и M (2N, M50), которые определяют высоту и ширину поля соответственно. Далее задается поле, которое представлено N строками, каждая из которых состоит из M чисел, каждое из которых равно 0 либо 1. В случае, когда клетке поля соответствует число 1, кубику запрещено посещать данную клетку. В противном случае эта клетка может встречаться в пути кубика. Начальной клетке всегда соответствует число 0.

Выходные данные

Первая строка должна содержать натуральное число W— длину найденого пути. Далее в файле должны находиться W строк, каждая из которых задает координату клетки поля на текущем шаге. Координата представляет собой пару натуральных чисел: номер строки и номер столбца клетки поля.

В случае, когда искомого пути не существует, выходной файл должен содержать строку с числом -1.

Пример входных данных
3 2
0 1
0 0
0 0
Пример выходных данных
3
2 1
2 2
3 2

 

Олимпиады

Всеукраинские
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004

Отборочные сборы
1992 1993 1994 1996 1997 1998 1999 2000 2001 2002 2003 2004

Международные
1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004

Всесоюзные
1988 1989 1990 1991 1992

© Разработано рабочей группой UOI 1998-2004 гг.