На википедии есть псевдокод алгоритма, который можно реализовать стандартными конструкциями языка С/С++.
Алгоритм Ли
Инициализируйте двумерный массив типа int. Используйте значение ячейки -1 для стенок лабиринта. В отдельных переменных сохраните индексы начала и конца лабиринта.
Распространение и восстановление волны полностью соответствует описанию алгоритма в вики. Трудность только при растпространении волны в определении последних помеченных ячеек. Для начала можно использовать полный перебор массива, потом усложнить - применить рекурсивные функции или граммотно переделать циклы.