Programming Parallel Computers

HY 2025–2026

IS9a: parempi algoritmi ★★★

Kirjaudu sisään palauttaaksesi tehtäviä.

Tehtävän ohjeet

Lue ensin tehtävän yleiset ohjeet. Tarkemmat tehtäväkohtaiset ohjeet ovat alla:

Suunnittele tehokkaampi algoritmi, jonka ei (ainakaan tavanomaisissa tilanteissa) tarvitse kokeilla suorakulmion kaikkia mahdollisia sijainteja. Toteuta algoritmi tehokkaasti CPU:lla.

Koodin testaus

Koodin toimintaa testataan ensin erilaisilla testeillä. Voit kokeilla samaa omalla tietokoneellasi komennolla ./grading test.

Jos koodi toimii odotetusti, sille suoritetaan benchmark-testejä. Voit kokeilla tätä omalla tietokoneellasi komennolla ./grading benchmark. Huomaa kuitenkin, että ajoaika omalla tietokoneellasi voi olla eri kuin arviointiin käytetyllä laitteistolla.

Benchmark-testit

Nimi Parametrit
benchmarks/1 nx = 100, ny = 100
syöte on monivärikuva, jossa on 100 × 100 pikseliä
benchmarks/2a nx = 199, ny = 199
syöte on strukturoitu mustavalkokuva, jossa on 199 × 199 pikseliä
benchmarks/2b nx = 200, ny = 200
syöte on strukturoitu mustavalkokuva, jossa on 200 × 200 pikseliä
benchmarks/2c nx = 201, ny = 201
syöte on strukturoitu mustavalkokuva, jossa on 201 × 201 pikseliä
benchmarks/3 nx = 400, ny = 400
syöte on monivärikuva, jossa on 400 × 400 pikseliä
benchmarks/4 nx = 1000, ny = 1000
syöte on monivärikuva, jossa on 1000 × 1000 pikseliä

Arviointi

Tässä tehtävässä palautus arvioidaan benchmarks/4-testin perusteella, jossa syöte on monivärikuva, jossa on 1000 × 1000 pikseliä.

Jos tehtävä palautetaan maanantaihin, 31. elokuuta 2026, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:

AjoaikaPisteet
≤ 10.000 s 1
≤ 5.000 s 2
≤ 2.000 s 3
≤ 1.000 s 4
≤ 0.500 s 5

Myöhästyneistä palautuksista ei saa pisteitä.