Datatähti 2009 -alkukilpailu



Samankaltaiset tiedostot
Datatähti kilpailu

Datatähti alkukilpailu

Datatähti kilpailu

Datatähti-alkukilpailu 2005

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Esimerkiksi jos käytössä ovat kirjaimet FFII, mahdolliset nimet ovat FIFI ja IFIF. Näistä aakkosjärjestykssä ensimmäinen nimi on FIFI.

Toisessa kyselyssä alueella on 1 ruudussa A ja 3 ruudussa B, joten suosituin ehdokas on B.

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Valmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on.

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin.

Ohjelmoinnin perusteet Y Python

Puzzle SM Pistelasku

Kenguru 2012 Junior sivu 1 / 8 (lukion 1. vuosi)

Ohjelmoinnin perusteet Y Python

Kenguru 2012 Cadet (8. ja 9. luokka)

Tehtävä Vastaus

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Kenguru 2016 Ecolier (4. ja 5. luokka)

Datatähti 2019 loppu

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Tietotekniikan valintakoe

Jypelin käyttöohjeet» Ruutukentän luominen

PROBYTE GSM ALARM #6d

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Kenguru 2017 Cadet (8. ja 9. luokka)

Kenguru 2016 Ecolier (4. ja 5. luokka)

Harjoitustyö: virtuaalikone

c) 22a 21b x + a 2 3a x 1 = a,

Ohjelmoinnin perusteet Y Python

11.4. Context-free kielet 1 / 17

Kenguru 2011 Ecolier RATKAISUT (4. ja 5. luokka)

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

finnish BOI 2015, päivä 1. Muistiraja: 256 MB

4. Oheisessa 4x4 ruudukossa jokainen merkki tarkoittaa jotakin lukua. Mikä lukua salmiakki vastaa?

Kenguru 2014 Ecolier (4. ja 5. luokka)

Tehtävä: FIL Tiedostopolut

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

5. HelloWorld-ohjelma 5.1

Ohjelmoinnin perusteet Y Python

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Julkaiseminen sallittu vain koulun suljetussa verkossa.

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Ohjelmointi 2 / 2010 Välikoe / 26.3

Tehtävä Vastaus

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti


Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Luokat ja oliot. Ville Sundberg

Ohjelmoinnin perusteet Y Python

Task list Submit code Submissions Messages Scoreboard View queue Edit contest

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Syötteen ensimmäisellä rivillä on kokonaisluku n, testien määrä (1 n 10). Tämän jälkeen jokaisella seuraavalla rivillä on kokonaisluku x (0 x 1000).

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

A* Reitinhaku Aloittelijoille

Kaulaketju. Syöte. Tuloste. Esimerkki 1. Esimerkki 2

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

Kenguru 2016 Student lukiosarja

Ohjelmoinnin perusteet Y Python

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

TAITAJA 2007 ELEKTRONIIKKAFINAALI KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

4. Lausekielinen ohjelmointi 4.1

International Olympiad in Informatics 2013

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle = Luvussa ei esiinny missään kohtaa numeroa 0.

15. Ohjelmoinnin tekniikkaa 15.1

Ylläpitopalvelu. Tietuekuvaus. Tietuekuvaus 1 (8) Ylläpitopalvelu. Julkinen - Public

Puzzle-SM Loppukilpailu Oulu

Ohjelmoinnin peruskurssi Y1

Tutoriaaliläsnäoloista

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Kenguru 2013 Cadet (8. ja 9. luokka)

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

Kenguru 2018 Cadet (8. ja 9. luokka)

NÄIN TEET VIDEO-MAILIN (v-mail)

Kenguru 2011 Ecolier (4. ja 5. luokka)

Kenguru 2012 Benjamin sivu 1 / 8 (6. ja 7. luokka) yhteistyössä Pakilan ala-asteen kanssa

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

EDMODO. -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

Kenguru Ecolier, ratkaisut (1 / 5) luokka

11. Javan toistorakenteet 11.1

Harjoitus 3 ( )

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Kenguru 2013 Student sivu 1 / 7 (lukion 2. ja 3. vuosi)

Transkriptio:

Datatähti 2009 -alkukilpailu Ohjelmointitehtävä 1/3: Hissimatka HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Joukko ohjelmoijia on talon pohjakerroksessa, ja he haluavat päästä ylimpään kerrokseen tietokonehuoneeseen. Talossa on hissi, ja portaitakin voi käyttää. Mutta kuinka monta tapaa on valita, ketkä menevät hissillä ja ketkä jalkaisin? Kaikki ohjelmoijat lähtevät matkaan yhtä aikaa, ja kaikki hissiä käyttävät kulkevat samassa hississä. Tarkastellaan esimerkkiä, jossa ohjelmoijia on neljä ja hissin lasti saa painaa korkeintaan 200 kg. Ohjelmoijien painot ovat: ohjelmoija paino (kg) A 70 B 130 C 50 D 75 Nyt ohjelmoijat voivat siirtyä ylimpään kerrokseen 11 tavalla: hissillä jalkaisin paino hississä (kg) - A, B, C, D 0 C A, B, D 50 A B, C, D 70 D A, B, C 75 A, C B, D 120 C, D A, B 125 B A, C, D 130 A, D B, C 145 B, C A, D 180 A, C, D B 195 A, B C, D 200 Muissa tapauksissa hissin lasti olisi liian raskas. Tehtävänäsi on toteuttaa ohjelma, joka laskee, kuinka monella tavalla ohjelmoijat voivat siirtyä talon ylimpään kerrokseen, kun ohjelmalle annetaan hissin lastin maksimipaino ja ohjelmoijien painot. Syöte Ohjelmasi lukee syötteenä yhden ASCII-tekstitiedoston, jonka nimi on hissi.in. Tiedoston ensimmäisellä rivillä on kokonaisluku m, joka on hissin lastin maksimipaino. Toisella rivillä on kokonaisluku n, joka on ohjelmoijien määrä. Lopuksi tulee n riviä, joilla jokaisella on kokonaisluku p i : yhden ohjelmoijan paino. Luvuille pätee 1 m 10000, 1 n 20 ja 1 p i 500. 1

Tuloste Ohjelmasi kirjoittaa ohjelmoijien kulkutapojen määrän uuteen ASCII-tiedostoon nimeltä hissi.out. Tiedoston ainoalle riville täytyy tulostaa kokonaisluku t: kuinka monta tapaa on valita, ketkä menevät hissillä ja ketkä jalkaisin? Toteutustiedosto ja pisteytys Ohjelmasi toteutuksen tulee olla yhdessä lähdekooditiedostossa. Tiedoston nimen tulee olla ohjelmointikielestä riippuen hissi.c, hissi.cpp tai hissi.pas. Ohjelmaasi testataan 20 kertaa erilaisilla syötteillä. Ohjelmasi saa kutakin testiä varten 1 sekunnin aikaa ja 192 megatavua keskusmuistia. Kunkin testin kohdalla oikea tuloste antaa 5 pistettä ja väärä 0 pistettä. Aika- tai muistirajan ylittäminen tuottaa tulosteen oikeellisuudesta riippumatta 0 pistettä. Tehtävän maksimi on siis 100 pistettä. Esimerkkejä syötetiedostoista sekä vastaavista tulostiedostoista Esimerkki 1 hissi.in: 200 4 70 130 50 75 hissi.out: 11 Esimerkki 2 hissi.in: 329 6 89 73 115 87 156 95 hissi.out: 35 2

Datatähti 2009 -alkukilpailu Ohjelmointitehtävä 2/3: Pensaslabyrintti HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Rouva Kasvinen näki televisiosta ohjelman Wienin Schönbrunnin palatsin puutarhassa olevasta pensaslabyrintista. Ohjelman innoittamana hän päätti tehdä pensaslabyrintin myös oman talonsa puutarhaan. Rouva Kasviselle sattui kuitenkin pieni erhe: hän kasvatti puutarhaan niin paljon pensasaitaa, ettei labyrintissa enää ollutkaan kulkureittiä labyrintin alkupisteestä A loppupisteeseen B. Tämän vuoksi puutarhasta pitää poistaa osa pensasaidoista. Kasvien suurena ystävänä rouva Kasvinen haluaa poistaa niin vähän pensasaitaa kuin mahdollista. Rouva Kasvisen puutarha voidaan kuvata suorakulmion muotoisena ruudukkona, jossa on m riviä ja n saraketta. Kukin ruutu on joko vapaa tai siinä on pensasaidan pala. Labyrintin alkupiste A sijaitsee ruudukon vasemmassa yläkulmassa eli 1. rivin 1. sarakkeessa. Labyrintin loppupiste B sijaitsee ruudukon oikeassa alakulmassa eli m. rivin n. sarakkeessa. Labyrintissa on mahdollista kulkea vapaasta ruudusta johonkin sen viereiseen vapaaseen ruutuun. Ruudun viereisiksi ruuduiksi lasketaan sen vasemmalla, oikealla ja ylä- tai alapuolella olevat ruudut. Puutarharuudukon ulkopuolelle ei saa kulkea. Pensasaitaa on mahdollista poistaa pala kerrallaan. Palan poistamisen jälkeen sen sijaintiruutu muuttuu vapaaksi. Tehtävänäsi on toteuttaa ohjelma, joka auttaa rouva Kasvista laskemaan, mikä on pienin mahdollinen määrä pensasaidan paloja, jotka poistamalla on mahdollista aikaansaada vapaista ruuduista koostuva kulkureitti labyrintin alkupisteen A ja loppupisteen B välille. Syöte Ohjelmasi lukee syötteenä yhden ASCII-tekstitiedoston, jonka nimi on pensas.in. Tiedostossa on m + 1 riviä. Ensimmäisellä rivillä on kaksi toisistaan yhdellä välilyönnillä eroteltua kokonaislukua m ja n, tässä järjestyksessä. Luku m ilmoittaa puutarharuudukon korkeuden (= rivien lukumäärän) ja luku n leveyden (= sarakkeiden lukumäärän). Kukin seuraavista m rivistä sisältää n peräkkäistä merkkiä (ilman välilyöntejä), jotka kuvaavat yhden puutarharuudukon rivin. Kukin merkki on joko V tai P. Merkki V tarkoittaa, että vastaava ruutu on vapaa. Merkki P tarkoittaa, että vastaavassa ruudussa on pensasaidan pala. Rivit annetaan järjestyksessä ylhäältä alaspäin, ja yksittäisen rivin kuvaavat merkit järjestyksessä vasemmalta oikealle. Näin ollen tiedoston pensas.in rivillä 1 + i ja sarakkeessa j oleva merkki vastaa ruudukon i. rivin j. saraketta. Luvuille pätee 1 m,n 3000. Tuloste Ohjelmasi kirjoittaa vastauksen uuteen ASCII-tiedostoon nimeltä pensas.out. Tiedostossa on c + 1 riviä. Tiedoston ensimmäiselle riville täytyy tulostaa kokonaisluku c, joka ilmoittaa kuinka monta pensasaidan palaa on vähintään poistettava, jotta labyrintin alkupisteen A ja loppupisteen B välille muodostuu vapaa reitti. 3

Seuraavat c riviä ilmoittavat sellaiset ruudut, joiden pensaspalat poistamalla vapaa reitti syntyy. Kukin näistä riveistä sisältää kaksi toisistaan yhdellä välilyönnillä eroteltua kokonaislukua, joista ensimmäinen ilmoittaa ruudun rivin ja toinen ruudun sarakkeen. Toteutustiedosto ja pisteytys Ohjelmasi toteutuksen tulee olla yhdessä lähdekooditiedostossa. Tiedoston nimen tulee olla ohjelmointikielestä riippuen pensas.c, pensas.cpp tai pensas.pas. Ohjelmaasi testataan 20 kertaa erilaisilla syötteillä. Ohjelmasi saa kutakin testiä varten 2 sekuntia aikaa ja 192 megatavua keskusmuistia. Kunkin testin kohdalla täysin oikea tuloste antaa 5 pistettä. Vapaan reitin tuottava, mutta turhan monta pensasaidan palaa poistava vastaus antaa 1 pisteen. Vapaata reittiä tuottamaton vastaus antaa 0 pistettä. Aika- tai muistirajan ylittäminen tuottaa tulosteen oikeellisuudesta riippumatta 0 pistettä. Tehtävän maksimi on siis 100 pistettä. Esimerkkejä syötetiedostoista sekä vastaavista tulostiedostoista Esimerkki 1 pensas.in: 6 7 VVVVVVV PVPPVPP VVPVVPP VPPPPPV VPVVVPP VVVPVPV pensas.out: 1 6 6 Esimerkki 2 pensas.in: 10 10 VPVPVVPPPP PPVVPPPPPP PVPPPPPPVP PPPPPPPVPP PPPVPPVPPP VPPPVPPPPV VPPPPVVPPP PPPPPVPPPP VPPVPPPVPP PPVPPPPVVV pensas.out: 7 1 2 3 4 4 4 5 5 6 6 7 8 8 8 4

Datatähti 2009 -alkukilpailu Ohjelmointitehtävä 3/3: Professorin algoritmi HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Professori Bittinen on kehittänyt nerokkaan algoritmin, joka laskee kokonaisluvun neliöjuuren. Algoritmissa on kuitenkin yksi heikkous: se toimii oikein vain silloin, kun luvun binääriesityksessä ei ole vierekkäin kahta ykkösbittiä. Esimerkiksi algoritmi laskee oikein lukujen 8 ja 34 neliöjuuret, koska lukujen binääriesitykset ovat 1000 ja 100010. Vastaavasti algoritmi käsittelee virheellisesti luvut 11 ja 29, koska niiden binääriesitykset ovat 1011 ja 11101. Professori haluaa arvioida algoritminsa käyttökelpoisuutta tutkimalla tietyn lukuvälin lukuja. Hän haluaa selvittää, kuinka suuri osa luvuista kelpaa algoritmille eli kuinka monen luvun binääriesityksessä ei ole vierekkäin kahta ykkösbittiä. Esimerkiksi lukuvälillä 3 7 lukujen 3, 4, 5, 6 ja 7 binääriesitykset ovat 11, 100, 101, 110 ja 111. Professorin algoritmi selviytyy luvuista 4 ja 5 muttei muista lukuvälin luvuista. Tehtävänäsi on toteuttaa ohjelma, joka auttaa professoria laskemaan, kuinka monta lukua tietyllä lukuvälillä algoritmi käsittelee oikein. Syöte Ohjelmasi lukee syötteenä yhden ASCII-tekstitiedoston, jonka nimi on profalg.in. Tiedostossa on kaksi riviä, joista ensimmäisellä on kokonaisluku a ja toisella kokonaisluku b. Luku a on ensimmäinen tutkittava luku, ja luku b on viimeinen tutkittava luku. Luvuille pätee 1 a < b < 10 18. Tuloste Ohjelmasi kirjoittaa kelvollisten lukujen määrän uuteen ASCII-tiedostoon nimeltä profalg.out. Tiedoston ainoalle riville täytyy tulostaa kokonaisluku c, joka on niiden annetulla lukuvälillä olevien lukujen määrä, joiden binääriesityksessä ei ole vierekkäin kahta ykkösbittiä. Toteutustiedosto ja pisteytys Ohjelmasi toteutuksen tulee olla yhdessä lähdekooditiedostossa. Tiedoston nimen tulee olla ohjelmointikielestä riippuen profalg.c, profalg.cpp tai profalg.pas. Ohjelmaasi testataan 20 kertaa erilaisilla syötteillä. Ohjelmasi saa kutakin testiä varten 1 sekunnin aikaa ja 192 megatavua keskusmuistia. Kunkin testin kohdalla oikea tuloste antaa 5 pistettä ja väärä 0 pistettä. Aika- tai muistirajan ylittäminen tuottaa tulosteen oikeellisuudesta riippumatta 0 pistettä. Tehtävän maksimi on siis 100 pistettä. 5

Esimerkkejä syötetiedostoista sekä vastaavista tulostiedostoista Esimerkki 1 profalg.in: 3 7 profalg.out: 2 Esimerkki 2 profalg.in: 123 321 profalg.out: 44 6

Sääntöjä ja ohjeita Mitä palautetaan? Kunkin ohjelmointitehtävien vastaus koostuu tehtävän yhteydessä mainitulla tavalla nimetystä yhdestä lähdekooditiedostosta. Siis jokaista tehtävää kohden oma tiedosto. Älä lähetä esimerkiksi käännettyä ohjelmatiedostoa. Sallitut ohjelmointikielet Kunkin ohjelmointitehtävän vastauksessa sallitut ohjelmointikielet ovat C, C++ ja Pascal. Lähdekooditiedostot Lähdekooditiedoston nimen tiedostopääte määräytyy seuraavasti: kieli C C++ Pascal tiedostopääte c cpp pas Kunkin lähdekooditiedoston alussa pitää olla kommenttiosio, joka sisältää seuraavat tiedot: 1. Otsikkoteksti Datatähti 2009 -alkukilpailu 2. Tehtävän numero 3. Nimesi 4. Syntymäaikasi 5. Koulusi/lukiosi nimi ja paikkakunta Ohjelmakoodin kirjoitusasu on muuten vapaa (esim. koodin selkeyttä ei arvostella). Ohjelman toiminta Ohjelmasi on noudatettava alla lueteltuja vaatimuksia, tai muuten seurauksena saattaa olla pistemenetyksiä. Ohjelma saa lukea ja kirjoittaa vain tehtävässä nimettyjä tiedostoja. Erityisesti näppäimistöltä lukeminen tai näytölle tulostaminen on kiellettyä. Tulostiedoston täytyy aina päättyä rivinvaihtoon. Ohjelmointikielissä C ja C++ pääohjelman main suorituksen pitää päättyä lauseeseen return 0; (Pascal-kääntäjä huolehtii tästä puolestasi). Ohjelmointikielessä pitää rajoittua vain sen standardoituihin peruspiirteisiin, ja välttää laite- tai kääntäjäkohtaisia erikoisuuksia. Ohjelmointikielissä C ja C++ on käytössä standardoitu matematiikkakirjasto (eli käännettäessä annetaan valitsin -lm). Yleisesti ottaen saa käyttää ohjelmointikielten standardikirjastoja (esim. C++-kielen Standard Template Library (STL), C-kielen peruskirjasto (C standard library), Javakielessä Java Platform SE:n luokat). 7

Koodin ajoympäristö Testitietokoneessa on Linux käyttöjärjestelmä sekä seuraavat kääntäjät: Kieli Kääntäjä Versio Kielistandardi (valitsimet) Optimointitaso C gcc 4.0 ANSI/ISO C89/90 (-ansi) -O2 -static C++ g++ 4.0 ISO C++ (-ansi) -O2 -static Pascal Free Pascal 2.0 Borland Turbo Pascal 7.0 (-Mtp -Sg) -O2 -XS Resurssirajat Tehtävien kohdalla todettiin, että ohjelma saa käyttää kunkin testiajon aikana vain tietyn määrän aikaa ja muistia. Em. resurssirajat asetetaan käyttäen Linuxin ulimit komentoa. Esimerkiksi 1 sekunnin aikaja 192 megatavun muistiraja asetetaan komennolla ulimit -t 1 -v 196608. Voit arvioida testikoneen nopeutta sen pohjalta, että siinä on AMD Athlon64 3200+ CPU. Ohjelmointitehtävien vastausten palautus Jos samalta henkilöltä tulee kilpailuaikana useita eri ratkaisuja, niin viimeinen niistä arvostellaan. Jos kilpailija lähettää vastauksensa myöhästyneenä, voidaan vastaus jättää huomiotta. Ratkaisujen palautus tapahtuu sähköpostitse osoitteeseen heikki.hyyro@cs.uta.fi. Viestin rakenne on seuraava: Sähköpostin otsikkokenttään (subject) teksti Datatähti 2009 -alkukilpailun vastaukset. Viestin rungoksi omat yhteystietosi: 1. Nimesi 2. Syntymäaikasi 3. Koulusi/lukiosi nimi ja paikkakunta 4. Postiosoitteesi 5. Puhelinnumerosi 6. Sähköpostiosoitteesi Lähdekooditiedostot laitetaan sähköpostin mukaan erillisessä zip-pakkauksessa. Zip-pakkaus tulee nimetä muodossa etunimi_sukunimi.zip. Tämän toiminnon nimi on yleensä Liitä tiedosto, Attach File tai vastaava. Sähköpostivastauksen katsotaan lähteneen ajoissa, jos sen aikaleima on kilpailuajan sisällä. Tämä aikaleima katsotaan sähköpostin välittäneestä palvelinkoneesta. Kysymyksiä (ja vastauksia) Voit esittää sähköpostitse täsmennyskysymyksiä ohjelmointitehtäviin tai niiden palautukseen liittyen. Käytä edellä annettua vastausten palautusosoitetta. Kysymykset ja vastaukset laitetaan kilpailun aikana näkyviin kisasivustolle ilman kysyjien nimiä. Sivuja kannattaa siis seurata! 8