Динамические структуры данных

Формат входных данных.
Ввод: в первой
строке записаны размеры матрицы n и m, в следующих n строках
располагается сама матрица, состоящая из 0 – квадрат свободен для прохода и 1 –
квадрат закрыт для прохода, затем в
следующей строке – пара чисел – координаты точки захода, и после этого,
в следующей строке – пара чисел – координаты точки выхода.
Вывод: Путь
от начальной точки к конечной, на каждой строчке пара координат.
Пример входных данных:
10 10
0 1 1
1 1 1
1 1 1
1
0 0
0 1 1 1
1 1 0 1
0 1 1
1 0 0 0
1 0 1
0 1 1
1 0 0 0
1 0 1
0 0
0 0 0
1 0 1 0 1
1 1
1 1 1
1 0 1 0 1
1 0 0
0 0 0
0 0 0
1
1 0 1 0 1 1
1 1 1
1
1 0 1 0 0
0 0 0
0 0
1 1
1 1 1
1 1 1
1 0
0 0
9 9
Пример выходных данных:
0 0
1 0
2 0
3 0
4 0
4 1
4 2
4 3
4 4
3 4
2 4
2 5
2 6
3 6
4 6
5 6
6 6
6 5
6 4
6 3
7 3
8 3
8 4
8 5
8 6
8 7
8 8
8 9
9 9