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