- Language:
- Time limit: 1.00 s
- Memory limit: 512 MB
Olet mitannut ilman lämpötilaa eri puolilla Suomea kymmenen vuoden ajan. Kuinka hyvin säätä voisi ennustaa näiden mittausten avulla?
Tiedossa on menneen vuorokauden lämpötilan kehitys tietyssä paikassa. Mittaukset on tehty tasatunnein alkaen kello ja päättyen seuraavana päivänä kello . Toteuta ohjelma, joka ennustaa, miten lämpötila kehittyy seuraavat tuntia, eli kello .
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluku : päivien määrä.
Seuraa riviä, joista kullakin on lukua: menneen vuorokauden lämpötilat tasatunnein. Lämpötila ilmoitetaan celsiusasteina yhden desimaalin tarkkuudella.
Päivät ovat satunnaisessa järjestyksessä, ja eri päivien mittaukset voivat olla tehty eri paikoissa.
Tuloste
Jokaiselle päivälle tulosta lukua: ennusteesi lämpötilasta seuraaville tunnille. Ilmoita lämpötila celsiusasteina.
Jos joidenkin tuntien ennuste on epävarma, voit tulostaa luvun sijasta
kysymysmerkin ?
.
Esimerkki
Syöte:
1 2.6 2.5 2.3 2.2 2.1 2.1 1.8 1.5 1.2 1.1 1.2 1.1 1 1.3 1.5 1.3 1 1.1 1 0.9 1 0.7 1.1 1.5
Tuloste:
1.7 1.5 1.4 ? ? ? 2 2.3 2.5 ? 2.4 1.5
Rajat
Esimerkkidata
Lataa esimerkkidata tästä.
Tiedoston ensimmäisellä rivillä on luku , päivien määrä.
Seuraa riviä. Jokaisella niistä on lukua: lämpötilat jonain päivänä tasatunnein kello ja sitä seuraavana päivänä kello .
Esimerkkidatan mittauspaikat ja -päivät on valittu satunnaisesti samalla tavalla kuin testitapauksissa. Sama päivä ei kuitenkaan voi esiintyä molemmissa aineistoissa.
Datan alkuperä: Ilmatieteen laitoksen avoin data, lämpötilahavainnot.
Pisteytys
Ohjelmasi suoritetaan usealla testitapauksella. Ohjelman tuottamia ennustuksia vertaillaan oikeisiin havaintoihin. Voit saada yhdestä testitapauksesta pisteitä seuraavalla perusteella:
Olkoon oikein ennustettujen tuntien määrä. Ennustus on oikea, jos se poikkeaa oikeasta havainnosta alle .
Olkoon väärin ennustettujen tuntien määrä. Ennustus on väärä, jos se poikkeaa oikeasta havainnosta vähintään .
Jos ohjelmasi tulosti jollekin tunnille ennusteen sijasta kysymysmerkin ?
,
tätä ei lasketa oikeaksi eikä vääräksi.
Testitapauksesta saamasi pistemäärä on pyöristettynä lähimpään kokonaislukuun, kuitenkin vähintään ja korkeintaan pistettä. Tässä merkitsee syötteessä esiintyvien päivien määrää.
Tehtävästä saamasi pistemäärä lasketaan keskiarvona kaikista testitapauksista.