Informatika gyűjtemény

Egy szinttel feljebb Megoldás

2004050607080910

NézetNyomtat

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

haromszg.pas (Kriván Bálint, Pascal)
haromszog.c (Mészáros Balázs, C)
haromszog.pas (Peregi Tamás, Pascal)