Algoritmus
Kétféle háromszöget kell vizsgálnunk: "felfele állót" és "lefele állót".
A felfele álló háromszögekkel foglalkozunk részletesen, a másik eset hasonlóan kezelhető.
(Ott arra is figyelni kell, hogy a nagyháromszög szélén kívülre nem mehetünk.)
Az x érték jelöli a mezőből felfelé induló háromszög lehetséges maximális értékét. Rekurzív megoldást adunk, ami a dinamikus programozás módszerével jelentősen gyorsítható.
Ha az x és a felette lévő mező még nincs kivágva, akkor x=min(a,b)+1.
Ha az x nincs kivágva, de a felette lévő mező ki van vágva, akkor x=1.
Ha az x mező ki van vágva, akkor x=0.
A kód gyorsítható, ha a nagyháromszög körül felveszünk egy kivágott mezőkből álló sávot.
Kódok