Datatähti alkukilpailu

Samankaltaiset tiedostot
Datatähti alkukilpailu

Datatähti kilpailu

Datatähti kilpailu

Datatähti-alkukilpailu 2005

Datatähti 2000: alkukilpailun ohjelmointitehtävä

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

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.

Datatähti 2019 loppu

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

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

Tehtävä: FIL Tiedostopolut

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

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

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

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).

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

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Task list Submit code Submissions Scoreboard View queue Edit contest

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

{ 2v + 2h + m = 8 v + 3h + m = 7,5 2v + 3m = 7, mistä laskemmalla yhtälöt puolittain yhteen saadaan 5v + 5h + 5m = 22,5 v +

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

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

1. Jaa blini kolmella suoralla a) neljään, b) viiteen, c) kuuteen ja d) seitsemään osaan. Osien ei tarvitse olla samanlaisia. Piirrä suorat kuviin.

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

Ohjelmoinnin perusteet Y Python

Task list Submit code Submissions Messages Scoreboard View queue Edit contest

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

Ohjelmoinnin perusteet Y Python

Kenguru 2014 Student sivu 1 / 8 (lukion 2. ja 3. vuosi)

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

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

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Kenguru 2016 Student lukiosarja

11.4. Context-free kielet 1 / 17

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

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

8. Näppäimistöltä lukeminen 8.1

Tehtävä Vastaus

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Tietotekniikan valintakoe

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

joissa on 0 4 oikeata vastausta. Laskimet eivät ole sallittuja.

Jypelin käyttöohjeet» Ruutukentän luominen

Ohjelmoinnin perusteet Y Python

Toinen harjoitustyö. ASCII-grafiikkaa

Ohjelmoinnin perusteet Y Python

Kenguru 2012 Cadet (8. ja 9. luokka)

Puzzle SM Pistelasku

Ohjelmoinnin perusteet Y Python

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Java-kielen perusteita

Ohjelmoinnin peruskurssi Y1

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Task list Submit code Submissions Messages Scoreboard View queue Edit contest

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

International Olympiad in Informatics 2013

Ohjelmoinnin perusteet, 1. välikoe

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu , tehtävien ratkaisut

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

5. HelloWorld-ohjelma 5.1

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

Kenguru 2015 Mini-Ecolier (2. ja 3. luokka) RATKAISUT

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

ITKP102 Ohjelmointi 1 (6 op)

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

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Ohjelmoinnin perusteet Y Python

Kenguru 2017 Benjamin (6. ja 7. luokka)

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Kenguru 2014 Ecolier ratkaisut (4. ja 5. luokka)

MAB Jussi Tyni. Lue ohjeet huolellisesti! Tee pisteytysruudukko konseptin yläkertaan. Muista kirjoittaa nimesi. Kysymyspaperin saa pitää.

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Ohjelmoinnin perusteet Y Python

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

MAA7 Kurssikoe Jussi Tyni Tee B-osion konseptiin pisteytysruudukko! Kaikkiin tehtäviin välivaiheet näkyviin! Laske huolellisesti!

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

12. Näppäimistöltä lukeminen 12.1

Kenguru 2017 Cadet (8. ja 9. luokka)

8. Näppäimistöltä lukeminen 8.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

Sisällysluettelo. 1. Johdanto

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

Ohjelmoinnin peruskurssi Y1

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Kenguru 2011 Junior (lukion 1. vuosi)

1. a) Laske lukujen 1, 1 ja keskiarvo. arvo. b) Laske lausekkeen. c) Laske integraalin ( x xdx ) arvo. MATEMATIIKAN MALLIKOE PITKÄ OPPIMÄÄRÄ

Ohjelmoinnin perusteet Y Python

Kenguru 2011 Cadet (8. ja 9. luokka)

Transkriptio:

Datatähti 2010 -alkukilpailu Ohjelmointitehtävä 1/3: Mustikat HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Tarkastellaan seuraavaa kahden pelaajan peliä: Aluksi pöydällä on kasa mustikoita. Tämän jälkeen pelaajat syövät vuorotellen yhden, kolme tai neljä mustikkaa pöydältä. Viimeisen mustikan syöjä voittaa pelin. Tehtävänä on selvittää, kummalla pelaajalla on voittostrategia eli kumpi pelaaja voittaa, jos molemmat pelaavat parhaalla mahdollisella tavalla. Jos pelaajalla on voittostrategia, hän voittaa pelin varmasti vastustajan menettelystä riippumatta. Tässä pelissä jommallakummalla pelaajalla on aina voittostrategia. Esimerkki 1: Pöydällä on aluksi kuusi mustikkaa. Nyt aloittaja voittaa, koska hän voi syödä neljä mustikkaa. Tämän jälkeen toisen pelaajan on pakko syödä yksi mustikka, minkä jälkeen aloittaja syö viimeisen mustikan ja voittaa pelin. Esimerkki 2: Pöydällä on aluksi seitsemän mustikkaa. Nyt aloittaja häviää, koska jos hän syö yhden mustikan, pöydälle jää kuusi mustikkaa ja ensimmäisen esimerkin mukaisesti toinen pelaaja voittaa. Jos aloittaja syö kolme mustikkaa, pöydälle jää neljä mustikkaa ja toinen pelaaja voi syödä ne kaikki. Jos taas aloittaja syö neljä mustikkaa, pöydälle jää kolme mustikkaa ja toinen pelaaja voi syödä ne kaikki. Syöte Tiedosto mustikat.in sisältää yhden rivin, jossa lukee pöydällä olevien mustikoiden lukumäärä pelin alussa. Mustikoita on vähintään yksi ja korkeintaan miljardi. Tuloste Ohjelman täytyy kirjoittaa tiedostoon mustikat.out, kummalla pelaajalla on voittostrategia. Jos aloittaja voittaa, ohjelman täytyy kirjoittaa tiedostoon kirjain A. Jos toinen pelaaja voittaa, ohjelman täytyy kirjoittaa tiedostoon kirjain T. Toteutustiedosto ja pisteytys Ohjelmasi toteutuksen tulee olla yhdessä lähdekooditiedostossa. Tiedoston nimen tulee olla ohjelmointikielestä riippuen mustikat.c, mustikat.cpp tai mustikat.pas. Ohjelmaasi testataan 20 kertaa erilaisilla syötteillä. Ohjelmasi saa kutakin testiä varten 1 sekunnin aikaa ja 32 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ä. 1

Esimerkkejä syötetiedostoista sekä vastaavista tulostiedostoista Esimerkki 1 mustikat.in: 6 mustikat.out: A Esimerkki 2 mustikat.in: 7 mustikat.out: T 2

Datatähti 2010 -alkukilpailu Ohjelmointitehtävä 2/3: Liukumäkitalo HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Huvipuistossa on liukumäkitalo, joka muodostuu vaakasuorista kerroksista ja niitä yhdistävistä liukumäistä. Uolevi on liukumäkitalon ylimmässä kerroksessa. Miten monta tapaa hänellä on laskea alimpaan kerrokseen? Jokainen liukumäki alkaa tietystä kerroksesta ja päättyy tiettyyn kerrokseen. Liukumäkeä saa vain laskea alaspäin, sitä ei saa nousta ylöspäin. Liukumäki täytyy laskea alusta loppuun. Kerroksissa saa kulkea vapaasti laskujen välillä. Seuraavassa esimerkissä kerroksia on neljä ja liukumäkiä on kuusi: Nyt Uolevilla on neljä tapaa laskea alimpaan kerrokseen: liukumäki 1, liukumäki 4, liukumäki 6 liukumäki 1, liukumäki 5, liukumäki 6 liukumäki 2, liukumäki 6 liukumäki 3 Voit olettaa, että kerroksia on korkeintaan tuhat ja liukumäkiä on korkeintaan miljoona. Lisäksi voit olettaa, että tapoja laskea alas on ainakin yksi ja korkeintaan 10 18. Syöte Ohjelmasi lukee syötteenä yhden ASCII-tekstitiedoston, jonka nimi on liukumaki.in. Tiedoston liukumaki.in ensimmäisellä rivillä on kerrosten ja liukumäkien määrä. Sitten jokaista liukumäkeä vastaa yksi rivi, jossa lukee, mistä kerroksesta mihin kerrokseen liukumäki johtaa. Kerrokset on numeroitu järjestyksessä kokonaisluvuin: ylin kerros on 1, toiseksi ylin kerros on 2 jne. 3

Tuloste Ohjelmasi kirjoittaa vastauksen uuteen ASCII-tiedostoon nimeltä liukumaki.out. Ohjelman täytyy kirjoittaa tiedostoon liukumaki.out, kuinka monella tavalla Uolevi voi laskea liukumäkitalon ylimmästä kerroksesta alimpaan kerrokseen. Toteutustiedosto ja pisteytys Ohjelmasi toteutuksen tulee olla yhdessä lähdekooditiedostossa. Tiedoston nimen tulee olla ohjelmointikielestä riippuen liukumaki.c, liukumaki.cpp tai liukumaki.pas. Ohjelmaasi testataan 20 kertaa erilaisilla syötteillä. Ohjelmasi saa kutakin testiä varten 0, 1 sekuntia aikaa ja 32 megatavua keskusmuistia. Kunkin testin kohdalla täysin oikea tuloste antaa 5 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 liukumaki.in: 4 6 1 2 1 3 1 4 2 3 2 3 3 4 liukumaki.out: 4 Esimerkki 2 liukumaki.in: 6 5 1 4 5 6 1 3 2 5 3 5 liukumaki.out: 1 4

Datatähti 2010 -alkukilpailu Ohjelmointitehtävä 3/3: Eristys HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Aapeli Amatööri teki remonttia, jonka yksi osa oli suorakulmion muotoisen seinän eristeen uusiminen. Aapelilla oli N kappaletta suorakulmion muotoisia ja mahdollisesti keskenään erikokoisia eristelevyjä, jotka hän sijoitti enemmän tai vähemmän satunnaisiin kohtiin seinälle. Sekä seinän että kunkin eristelevyn korkeus ja leveys voidaan ilmaista kokonaislukuina. Voimme siis kuvata sekä seinän että kunkin eristepalan yksikköruuduista muodostuvana suorakulmion muotoisena ruudukkona. Seinä on A mittayksikköä leveä ja B mittayksikköä korkea eli A B kokoinen yksikköneliöistä muodostuva ruudukko, jossa on A saraketta ja B riviä. Kukin eristelevy on sijoitettu seinälle siten, että levyn yksikköruudut ja seinän yksikköruudut ovat kohdakkain. Kunkin eristelevyn sijoituskohta ilmaistaan antamalle sen seinän yksikköruudun koordinaatit, jonka kohdalla kyseisen eristelevyn vasemman yläkulman yksikköruutu sijaitsee. Koordinaatisto on sellainen, että seinän yksikkösarakkeet on numeroitu vasemmalta oikealle luvuin 1... A ja yksikkörivit on numeroitu ylhäältä alas luvuin 1... B. Seinälle sijoitetut levyt voivat asettua mahdollisesti kokonaan tai osittain toistensa kanssa päällekkäin. Seinän sarakkeessa x ja rivillä y eli ruudussa (x, y) sijaitsevan yksikköruudun eristyksen paksuus on sellaisten eristelevyjen lukumäärä, jotka peittävät yksikköruudun (x,y). Sijoiteltuaan kaikki N eristelevyä seinälle, Aapeli alkoi pohtia eristyksen laatua. Hän päätti laskea, kuinka monta seinän yksikköruutua omaa eristyksen, jonka paksuus on vähintään P. Auta häntä toteuttamalla ohjelma, joka saa syötteenään parametrit A, B, N ja P sekä N:n eristelevyn kuvauksen (mitat sekä sijoituskohdan), ja joka laskee, kuinka monta seinän yksikköruutua omaa vähintään P:n paksuisen eristyksen. Syöte Ohjelmasi lukee syötteenä yhden ASCII-tekstitiedoston, jonka nimi on eristys.in. Syötetiedoston eristys.in ensimmäisellä rivillä on neljä toisistaan välilyönnein eroteltua positiivista kokonaislukua: luvut ovat järjestyksessä A, B, N ja P. Tätä seuraa N riviä eli rivit 2... 1 + N. Rivi 1 + i kuvaa eristelevyn numero i neljällä toisistaan välilyönnillä erotellulla positiivisella kokonaisluvulla, jotka ovat järjestyksessä A i, B i, x i ja y i. Näistä A i ja B i ilmaisevat kyseisen eristelevyn leveyden ja korkeuden, ja x i ja y i ilmaisevat, että eristelevyn vasen yläkulma sijaitsee seinän ruudussa (x i,y i ). Kunkin eristelevyn sijoituskohta (x i,y i ) on sellainen, että x i + A i 1 A ja y i + B i 1 B eli levy mahtuu kokonaisuudessaan seinän alueelle. Edellä mainittujen seikkojen lisäksi syötteen luvuille pätevät seuraavat rajat: 1 A,B 20000 1 N,P 4000 1 A i A 1 B i B 5

Tuloste Ohjelmasi kirjoittaa kelvollisten lukujen määrän uuteen ASCII-tiedostoon nimeltä eristys.out. Tulostiedostoon eristys.out tulee kirjoittaa yksi rivinvaihtoon päättyvä rivi, joka sisältää yhden kokonaisluvun: niiden seinän yksikköruutujen lukumäärä, joiden eristyksen paksuus on vähintään P. Toteutustiedosto ja pisteytys Ohjelmasi toteutuksen tulee olla yhdessä lähdekooditiedostossa. Tiedoston nimen tulee olla ohjelmointikielestä riippuen eristys.c, eristys.cpp tai eristys.pas. Ohjelmaasi testataan 20 kertaa erilaisilla syötteillä. Ohjelmasi saa kutakin testiä varten 1 sekunnin aikaa ja 32 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 eristys.in: 4 4 4 1 4 1 1 3 1 1 2 3 4 3 1 1 1 3 1 2 eristys.out: 13 Esimerkki 2 eristys.in: 10 10 5 3 7 6 3 3 5 1 2 8 4 8 4 1 4 10 7 1 7 8 1 1 eristys.out: 27 Esimerkkiä 2 havainnollistava kuva Kuva esittää esimerkkisyötteen 2 seinän tilanteen siten, että kuhunkin ruutuun on merkitty sen eristyksen paksuus. Ne ruudut, joiden eristyksen paksuus on vähintään P, on korostettu. 1 1 1 2 2 2 3 1 1 1 1 1 1 2 2 2 3 1 1 1 1 2 3 4 4 4 4 2 2 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 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 2010 -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)). 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. 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 2010 -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