Spoj nie bada implementacji algorytmu, tylko wynik programu. Jest jak szef, który oczekuje poprawnego i szybkiego rozwiązania. Wcale nie potrzebujesz dynamicznie alokowanej tablicy, bo dla tak oczywistego problemu jest krótsza ścieżka. Wykorzystaj tablice string w końcu, to c++, a nie c. Dlatego z całą pewnością zadanie jest napisane niepoprawnie i każe wykorzystać jedną z przyprostokątnych w trójkącie, zamiast przeciwprostokątnej c. Oto moja koncepcja dla tej łamigłówki. Pozdrawiam.
https://gist.github.com/anonymous/4452a59069b6092ae3d164c677573b61