Task list Submit code Submissions Messages Scoreboard View queue Edit contest

Samankaltaiset tiedostot
Task list Submit code Submissions Messages Scoreboard View queue Edit contest

Task list Submit code Submissions Scoreboard View queue Edit contest

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

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

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

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

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

Datatähti 2019 loppu

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

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

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

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

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

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

Tehtävä Vastaus

Tehtävä: FIL Tiedostopolut

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

Lukuspiraali. Syöte. Tuloste. Esimerkki 1. Esimerkki 2. Esimerkki 3. Tarkastellaan seuraavanlaisia lukuspiraaleita:

Kirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10)

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

Scifest-loppuraportti Jani Hovi kortin temppu

Kenguru 2016 Ecolier (4. ja 5. luokka)

Kenguru 2016 Ecolier (4. ja 5. luokka)

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Kahoot - kyselytyökalu

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu , tehtävien ratkaisut

Kenguru 2018 Ecolier (4. ja 5. luokka)

Kenguru Benjamin, ratkaisut (1 / 6) luokka

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Kenguru 2018 Benjamin (6. ja 7. luokka)

{ 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 +

Datatähti alkukilpailu

Kenguru 2019 Cadet (8. ja 9. luokka)

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

Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto.

Kenguru 2019 Ecolier 4. ja 5. luokka

MS-C2105 Optimoinnin perusteet Malliratkaisut 5

GeoGebra-harjoituksia malu-opettajille

Peliteoria luento 1. May 25, Peliteoria luento 1

Cadets Sivu 1 RATKAISUT

OTATKO RISKIN? peli. Heitä noppaa 3 kertaa. Tavoitteena on saada

Kenguru 2017 Cadet (8. ja 9. luokka)

Kenguru 2011 Cadet (8. ja 9. luokka)

Algoritmit 2. Luento 13 Ti Timo Männikkö

Yleinen tietämys ja Nashin tasapaino

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

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

Ohjelmoinnin perusteet Y Python

Kenguru 2012 Cadet (8. ja 9. luokka)

Onnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan.

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

SUOMEN BRIDGELIITTO FINLANDS BRIDGEFÖRBUND RY

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon.

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

Kenguru 2017 Student lukio

Tietotekniikan valintakoe

Kenguru 2015 Ecolier (4. ja 5. luokka)

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

Datatähti alkukilpailu

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Harjoitus 4 -- Ratkaisut

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!

Ohjelmoinnin perusteet Y Python

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne

Trafficars - Ruuhkaara

Sisällysluettelo. 1. Johdanto

Kenguru 2019 Student lukio

1. Sananselitys. 2. Ohjelmointi. 3. Keskustelu. 4. Medialukutaito

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

Kenguru 2018 Cadet (8. ja 9. luokka)

Luento 7. June 3, 2014

DNA MOBIILI TV - YLEISET KÄYTTÖOHJEET

Kenguru Cadet, ratkaisut (1 / 6) luokka

Luento 5: Peliteoriaa

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Puzzle-SM Loppukilpailu Oulu

TAMPEREEN TEKNILLINEN YLIOPISTO

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

International Olympiad in Informatics 2013

Kenguru 2006 sivu 1 Cadet-ratkaisut

Harjoitustyön testaus. Juha Taina

Luku 1 Johdatus yhtälöihin

Ohjelmoinnin perusteet Y Python

Kenguru 2017 Cadet (8. ja 9. luokka)

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa

Datatähti-alkukilpailu 2005

Päivi Kiviluoma Kimmo Nyrhinen Pirita Perälä Pekka Rokka Maria Salminen Timo Tapiainen. Mirjami Manninen. Nimi: Luokka:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Lisenssikausi Lisenssisivut Lisenssien osto

B sivu 1(6) AMMATTIKORKEAKOULUJEN TEKNIIKAN JA LIIKENTEEN VALINTAKOE

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

TEHTÄVIEN RATKAISUT. Luku Kaikki luvut on kokonaislukuja. Luonnollisia lukuja ovat 35, 7 ja 0.

Kenguru 2010 Benjamin (6. ja 7. luokka) sivu 1 / 5

Transkriptio:

Jäätelö Edit task Translate 1.00 s Uolevi aikoo ostaa kaksi jäätelötötteröä: yhden Maijalle ja yhden itselleen. Tiedossasi on jokaisen myynnissä olevan jäätelötötterön hinta ja paino sekä suurin summa, jonka Uolevi voi käyttää ostokseen. Tehtäväsi on selvittää, mikä on suurin mahdollinen jäätelötötteröiden yhteispaino. Huomaa, että Uolevi voi ostaa myös kaksi samanlaista jäätelötötteröä. Syötteen ensimmäisellä rivillä on kaksi kokonaislukua rahamäärä. ja x: vaihtoehtojen määrä ja Uolevin Sitten syötteessä on n riviä, joista jokainen kuvaa yhden vaihtoehdon. Rivillä on kaksi kokonaislukua h ja p: jäätelötötterön hinta ja paino. Voit olettaa, että on olemassa ainakin yksi ratkaisu. Tulosta yksi kokonaisluku: suurin mahdollinen yhteispaino. Esimerkki 1 3 10 1 1 5 4 9 8 9 Selitys: Uolevi ostaa 1-hintaisen ja 9-hintaisen jäätelötötterön. Esimerkki 2 2 7 4 2 3 5 n

10 Selitys: Uolevi ostaa kaksi 3-hintaista jäätelötötteröä. Rajat Pisteytys 1 n 100 1 x, h, p 1000 Saat tehtävästä 100 pistettä, jos ohjelmasi tuottaa oikean vastauksen kaikkiin testisyötteisiin, ja muuten 0 pistettä.

Mex-luku Edit task Translate 1.00 s Taulukon mex-luku on pienin epänegatiivinen kokonaisluku, jota ei ole taulukossa. Esimerkiksi taulukon mex-luku on. Tehtäväsi on laskea n-alkioisen taulukon jokaisen k-kokoisen alitaulukon mex-luku. Syötteen ensimmäisellä rivillä on luvut ja k: taulukon koko ja alitaulukon koko. Seuraavalla rivillä on lukua x1 x 2 x n : taulukon sisältö. Tulosta lukua: jokaisen alitaulukon mex-luku. Käy läpi alitaulukot järjestyksessä vasemmalta oikealle. Esimerkki 5 3 2 1 5 0 5 0 2 1 [3, 0, 4, 3, 7, 1] 2 n k + 1 Selitys: Alitaulukot ovat, ja. Osatehtävä 1 (28 pistettä) 1 k n 100 0 x i 10 9 Osatehtävä 2 (72 pistettä) 1 k n 10 5 0 x i 10 9 n n,,, [2, 1, 5] [1, 5, 0] [5, 0, 5]

Tunnelit Edit task Translate 1.00 s Pelaat peliä, joka muodostuu n huoneesta ja m tunnelista. Jokainen tunneli on yksisuuntainen, eikä mistään huoneesta ole mahdollista päästä takaisin samaan huoneeseen tunneleita kulkemalla. Jokaisessa tunnelissa on joukko kolikoita, jotka sinun tulee kerätä. Saat kerättyä kolikot kulkemalla tunnelin läpi. Kuitenkin kirouksen takia tunneli tuhoutuu tämän jälkeen etkä voi kulkea tunnelista uudestaan. Peli muodostuu päivistä, ja jokaisen päivän alussa voit aloittaa mistä tahansa huoneesta ja kulkea tunneleiden kautta muihin huoneisiin. Mikä on pienin määrä päiviä, jotka tarvitset kerätäksesi kaikki kolikot tunneleista? Syötteen ensimmäisellä rivillä on kaksi kokonaislukua n ja m: huoneiden määrä ja tunnelien määrä. Huoneet on numeroitu. Sitten syötteessä on m riviä, joista jokaisella on kaksi kokonaislukua a ja b. Tämä tarkoittaa, että huoneesta a on tunneli huoneeseen b. Tulosta yksi kokonaisluku: pienin mahdollinen päivien määrä. Esimerkki 6 7 2 1 2 5 3 2 5 1 5 4 6 2 6 3 3 Osatehtävä 1 (16 pistettä) 1 n 10 1, 2,, n

1 m 20 Osatehtävä 2 (31 pistettä) 1 n 100 1 m 200 Osatehtävä 3 (53 pistettä) 1 n 10 5 1 m 2 10 5

Ohjelma Edit task Translate 0.50 s Uolevi on kehittänyt uuden ohjelmointikielen, jossa ohjelmassa on vain yksi muuttuja X. Ohjelman suorituksen alussa X:n arvo on 1. Kielessä on kolme komentoa: ADD: lisää X:n arvoon 3 MUL: kerro X:n arvo 2:lla END: tulosta X:n arvo ja lopeta ohjelma Tehtäväsi on etsiä lyhin ohjelma, joka tulostaa luvun n, tai todeta, että mitään tällaista ohjelmaa ei ole olemassa. Syötteen ainoalla rivillä on kokonaisluku n. Jos ohjelma on olemassa, tulosta ensin sen komentojen määrä ja sen jälkeen jokainen komento omalle rivilleen. Jos mahdollisia ohjelmia on useita, voit tulostaa niistä minkä tahansa. Jos ohjelmaa ei ole olemassa, tulosta vain luku. Esimerkki 1 10 4 MUL ADD MUL END Esimerkki 2 12 0 Osatehtävä 1 (21 pistettä) 0

1 n 100 Osatehtävä 2 (37 pistettä) 1 n 10 6 Osatehtävä 3 (42 pistettä) 1 n 10 18

Ruudukko Edit task Translate 1.00 s Tehtäväsi on muodostaa n n -ruudukko, jonka jokaisessa ruudussa on kokonaisluku väliltä. Ruudukon täytyy toteuttaa kaksi vaatimusta: 1 n 1. Jokainen luku esiintyy ruudukossa tarkalleen kertaa. 2. Ruudukon pysty- ja vaakariveistä tulee muodostua 2n eri summaa. Esimerkiksi tapauksessa 1 n n 5 5 yksi mahdollinen ruudukko on seuraava: 1 5 5 [8, 11, 12, 14, 15, 16, 17, 18, 19, 20] Jokainen luku esiintyy ruudukossa kertaa, ja rivien summat ovat. Syötteen ainoalla rivillä on kokonaisluku n. Tulosta jokin ehdot täyttävä ruudukko. Jos mitään ruudukkoa ei ole olemassa, tulosta vain merkkijono "QAQ". Esimerkki 1 5 2 3 1 1 1 1 5 5 3 3 2 3 5 2 4 5 4 5 4 1 2 3 4 4 2

Esimerkki 2 2 QAQ Osatehtävä 1 (35 pistettä) 2 n 10 Osatehtävä 2 (21 pistettä) 2 n 100 Osatehtävä 3 (44 pistettä) 2 n 1000

Noitapeli Edit task Translate 1.00 s Noitapelissä on pelaajaa, joista on noitia ja on kyläläisiä. Kyläläisten tehtävänä on selvittää, ketkä pelaajat ovat noitia. Alussa jokainen pelaaja saa tietää oman roolinsa. Lisäksi jokainen noita saa tietää, ketkä muut ovat noitia, mutta kyläläiset eivät saa tietoa rooleista. Kyläläisten tehtävänä on onnistua selvittämään noidat pelin aikana. Pelissä järjestetään äänestys, jossa jokainen pelaaja syyttää yhtä toista pelaajaa noidaksi. Noita ei koskaan syytä pelaajaa, joka todellisuudessa on noita. Sen sijaan kyläläinen voi syyttää joko toista kyläläistä tai noitaa. Sinulle annetaan äänestyksen tulokset ja tehtäväsi on selvittää, montako mahdollista tapaa on, ketkä pelaajat ovat noitia. Ensimmäisellä rivillä on kokonaisluku n: pelaajien määrä. Pelaajat on numeroitu. Seuraavalla rivillä on kokonaislukua x1 x 2 x n. Tässä x k on sen pelaajan numero, jota pelaaja k syyttää noidaksi. Tulosta yksi kokonaisluku: montako mahdollista tapaa on, ketkä pelaajat ovat noitia. Esimerkki 6 2 5 4 1 4 5 4 Selitys: Noidat voivat olla,, tai. Osatehtävä 1 (23 pistettä) 3 n 100 Osatehtävä 2 (24 pistettä) n 3 n 3 n,,, (1, 3, 5) (1, 3, 6) (2, 3, 6) (2, 4, 6) 1, 2,, n

3 n 5000 Osatehtävä 3 (53 pistettä) 3 n 10 5

Sukujuhla Edit task Translate 10.00 s Uolevin suvun sukujuhlassa on paikalla n henkilöä. Pian on aika siirtyä ruokasaliin, jossa sukulaiset istuvat m pyöreän pöydän ääressä. Jokaisessa pöydässä istuu n/m henkilöä, ja tarjolla on kolme vaihtoehtoa menuksi (A, B ja C). Jokaisella henkilöllä on yksilöllinen tunnusnumero väliltä, ja jokainen pystyy näkemään pöydässä oman tunnusnumeronsa lisäksi k lähimmän vasemmalla ja oikealla istuvan tunnusnumeron. On kiusallista, jos kaksi vierekkäin istuvaa henkilöä valitsee saman menun. Tehtäväsi onkin keksiä strategia, jota noudattamalla näin ei tapahdu. Uolevi kertoo strategian kaikille etukäteen, ja kaikki noudattavat samaa strategiaa. Syötteen ensimmäisellä on kolme lukua n, m ja k: sukulaisten määrä, pöytien määrä ja näköetäisyys. Sitten syötteessä on riviä, yksi rivi kullekin pöydälle. Jokaisella rivillä on lukua, jotka kuvaavat pöydässä vierekkäin istuvat henkilöt. Tulosta jokaisen pöydän kohdalla omalle rivilleen kirjain A, B tai C sen mukaan, minkä menun keskimmäisenä istuva henkilö valitsee. Arvostelu Toisin kuin yleensä, tässä tehtävässä yhdessä testitapauksessa ohjelmaasi suoritetaan useita kertoja (enintään 50 kertaa). Jokainen suorituskerta koskee samaa istumajärjestystä, ja pöydät ovat samassa järjestyksessä syötteessä. Ohjelmasi hyväksytään, jos sen valitsemat menut eivät aiheuta sitä, että kahdella vierekkäin istuvalla henkilöllä olisi sama menu. Esimerkki 1 n m 2k + 1 Tarkastellaan esimerkkinä seuraavaa tilannetta ( ): n = 16, m = 1, k = 7

Oletetaan, että ohjelma suoritetaan kaksi kertaa, ensin henkilölle 14 ja sitten henkilölle 4. Henkilöt istuvat vierekkäin, joten ohjelman tulee valita eri menut heille. Esimerkiksi ohjelma voi toimia seuraavasti: 16 1 7 2 7 16 15 12 3 9 14 4 1 8 5 11 6 10 B 16 1 7 7 16 15 12 3 9 14 4 1 8 5 11 6 10 13 A Siis henkilö 14 valitsee menun B ja henkilö 4 valitsee menun A. Osatehtävä 1 (19 pistettä) n = 16 m = 1 k = 7 Osatehtävä 2 (32 pistettä) n = 1000 m = 10 k = 7 Osatehtävä 3 (49 pistettä) n = 10 9 m = 1000 k = 3