Võistlusprogrammeerimine

Targo Tennisberg, Katrin Gabrel

 

 Sissejuhatus

 Ülesannete esitamine CodeForces'is

 

!Ülesannete lahendamise eest CodeForcesis on võimalik koguda häkkeripunkte!

Esimese osa ülesannete lahendamine annab 5p ülesande kohta, teise osa ülesanded 7p. Kokku on kummaski osas 60 ülesannet. Lahendusi saab esitada CodeForces keskkonnas, selleks ei pea osalema seonduval Teaduskooli kursusel, kuid osalemine on muidugi ka asjana iseeneses kasulik. Samuti võib autoritele saata parandusi, kui kas raamatu tekstist või ülesannetest vigu leiad. Iga leitud vea eest saab kuni 10p. Ka kursustel osalejad koguvad häkkeripunkte samade reeglite järgi.

 

Võistlusprogrammeerimine I

Esimese osa näidisülesannete lahendused

 

Materjalid peatükkide kaupa

Tekst (pdf) Näidisülesannete lahendused (zip) Kontrollülesannete vihjed Kontrollülesannete testid CF-is (zip)
1. Programmide sisemaailm
C++ Java Python
A B C D E F G H I J
Kõik A B C D E F G H I J
2. Läbivaatus- ja otsingualgoritmid
C++ Java Python
 
Kõik A B C D E F G H I J
3. Algoritmi keerukus ja põhilised andmestruktuurid
C++ Java Python
 
Kõik A B C D E F G H I J
4. Arvuteooria
C++ Java Python
 
Kõik A B C D E F G H I J
5. Dünaamiline planeerimine algajatele
C++ Java Python
 
Kõik A B C D E F G H I J
6. Sissejuhatus graafiteooriasse
C++ Java Python
 
Kõik A B C D E F G H I J

 

Võistlusprogrammeerimine II

Teise osa näidisülesannete lahendused

 

Materjalid peatükkide kaupa

Tekst (pdf) Näidisülesannete lahendused (zip) Kontrollülesannete vihjed Kontrollülesannete testid CF-is (zip)
7. Efektiivne programmeerimistehnika
C++ Java Python
 
Kõik A B C D E F G H I J
8. Dünaamiline planeerimine edasijõudnutele
C++ Java Python
A C E F J
Kõik A B C D E F G H I J
9. Eriotstarbelised puud
C++ Java Python
 
Kõik A B C D E F G H I J
10. Graafiteooria
C++ Java Python
 
Kõik A B C D E F G H I J
11. Tekstialgoritmid
C++ Java Python
 
Kõik A B C D E F G H I J
12. Arvutusgeomeetria
C++ Java Python
 
Kõik A B C D E F G H I J