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

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

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

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

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

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

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

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

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

Task list Submit code Submissions Messages Scoreboard View queue Edit contest

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

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

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Datatähti 2019 loppu

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

Tehtävä: FIL Tiedostopolut

Task list Submit code Submissions Scoreboard View queue Edit contest

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Harjoitustyön testaus. Juha Taina

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

1.1. Alkuerä Kaikki kuljettajat mahtuvat mukaan yhteen alkuerälähtöön, koska enimmäisosallistujamäärä lähdössä on tuo 10.

4.3. Matemaattinen induktio

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

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

Lineaarinen optimointitehtävä

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

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

Kenguru 2006 sivu 1 Cadet-ratkaisut

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Tehtävät. 1. Ratkaistava epäyhtälöt. a) 2(4 x) < 12, b) 5(x 2 4x + 3) < 0, c) 3 2x 4 > 6. 1/10. Sukunimi (painokirjaimin)

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Malliratkaisut Demot

Algoritmit 1. Luento 12 Ti Timo Männikkö

Tekijä MAA2 Polynomifunktiot ja -yhtälöt = Vastaus a)

Harjoitus 3 ( )

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Datatähti alkukilpailu

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

1. TILASTOLLINEN HAHMONTUNNISTUS

Lineaarinen optimointitehtävä

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

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

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

Mat Investointiteoria Laskuharjoitus 3/2008, Ratkaisut

Harjoitus 3 ( )

JOUKKUETAITOKILPAILUSÄÄNNÖT JA LAJIT 2014

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

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

Kesäkisasäännöt Hyväksytty hallituksen kokouksessa

Luku 8. Aluekyselyt. 8.1 Summataulukko

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

811120P Diskreetit rakenteet

Malliratkaisut Demot

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Juuri 2 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Task list Submit code Submissions Messages Scoreboard View queue Edit contest

Turingin koneen laajennuksia

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Algoritmit 2. Luento 6 To Timo Männikkö

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

Algoritmit 2. Luento 5 Ti Timo Männikkö

Vektoreiden virittämä aliavaruus

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Algoritmit 1. Luento 12 Ke Timo Männikkö

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

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

Luento 9. June 2, Luento 9

811312A Tietorakenteet ja algoritmit I Johdanto

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Determinantti. Määritelmä

PINSERIT RY:n VUODEN PINSERI SÄÄNNÖT

Kynä-paperi -harjoitukset. Taina Lehtinen Taina I Lehtinen Helsingin yliopisto

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2018 Insinöörivalinnan matematiikan koe, , Ratkaisut (Sarja A)

Harjoitus 3 (viikko 39)

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,...

Numeeriset menetelmät

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

Trafficars - Ruuhkaara

4 Yleinen potenssifunktio ja polynomifunktio

Algoritmit 2. Luento 6 Ke Timo Männikkö

Kenguru 2014 Junior sivu 1 / 8 (lukion 1. vuosikurssi)

LU-hajotelma. Esimerkki 1 Matriisi on yläkolmiomatriisi ja matriisi. on alakolmiomatriisi. 3 / 24

Kenguru 2016 Ecolier (4. ja 5. luokka)

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti!

Transkriptio:

Uolevin reitti Kuvaus Uolevi on ruudukon vasemmassa ylänurkassa ja haluaisi päästä oikeaan alanurkkaan. Uolevi voi liikkua joka askeleella ruudun verran vasemmalle, oikealle, ylöspäin tai alaspäin. Lisäksi hän haluaa käydä jokaisessa ruudussa tasan kerran reitin kuluessa. Tehtävänäsi on laskea, kuinka monta mahdollista reittiä Uolevilla on. Ohjelmallesi annetaan syötteenä ruudukon leveys ja korkeus, ja sen tulee tulostaa reittien yhteismäärä kyseisessä tapauksessa. Huom! Ohjelman täytyy laskea tulos eikä vain tulostaa etukäteen laskettua tulosta. Syöte (stdin) Syöte muodostuu yhdestä rivistä, joka sisältää kaksi kokonaislukua: ruudukon leveys ja ruudukon korkeus. Tuloste (stdout) Tulosteessa tulee olla yksi kokonaisluku: erilaisten reittien määrä. Esimerkki 1 stdin stdout 7 4 111 Esimerkki 2 stdin stdout 6 7 10204

Syötteet Ohjelmaasi testataan 20 erilaisella syötteellä. Jokaisessa syötteessä leveys ja korkeus ovat kokonaislukuja ja yli 2. Lisäksi voit olettaa, että tulos on korkeintaan 1000000. Osa syötteistä on mahdollista ratkaista millä tahansa toimivalla ohjelmalla, mutta vaikeammat syötteet vaativat tehostuksia koodiin. Pisteytys Jokaisesta syötteestä saa 5 pistettä, jos ohjelma ratkaisee sen aikarajan kuluessa. Tehtävästä voi saada yhteensä 100 pistettä.

Urheiluseura Kuvaus Urheiluseura aloittaa syksyn toimintansa, ja aluksi kaikki seuran jäsenet jaetaan kahteen joukkueeseen. Joukkueiden yhteishengen kannalta on hyvä, jos joukkueen jäsenet ovat kavereita keskenään. Joukkueet pyritään siis muodostamaan siten, että niiden sisällä on mahdollisimman paljon kaveruussuhteita, ja niiden välillä mahdollisimman vähän. Kummassakin joukkueessa pitää olla yhtä monta pelaajaa. Joukkuejaon onnistuminen arvioidaan seuraavasti: 1 piste jokaisesta pelaajaparista, jotka ovat kavereita ja ovat samassa joukkueessa 1 piste jokaisesta pelaajaparista, jotka eivät ole kavereita ja ovat eri joukkueissa Ohjelman täytyy tulostaa mahdollisimman hyvä joukkuejako, eli sellainen jako, joka saa mahdollisimman paljon pisteitä. Syöte (stdin) Syötteen ensimmäisellä rivillä on pelaajien määrä N. Tämän jälkeen tulee kaksiulotteinen taulukko, jossa jokaisen pelaajaparin kohdalla on luku 0 (pelaajat eivät ole kavereita) tai luku 1 (pelaajat ovat kavereita). Jokainen luku taulukon lävistäjällä on 0. Tuloste (stdout) Tulosteen ainoalla rivillä tulee ilmoittaa kunkin pelaajan joukkue (1 tai 2). Esimerkki Tarkastellaan esimerkiksi tilannetta, jossa seurassa on neljä pelaajaa: Kalle, Maija, Pekka ja Liisa. Kalle ja Maija ovat kavereita samoin kuin Kalle ja Pekka. Lisäksi Pekka ja Liisa ovat kavereita. Joukkuejako 1 Yksi mahdollisuus on valita 1. joukkueeseen Kalle ja Pekka ja 2. joukkueeseen Maija ja Liisa. Tällöin joukkuejaosta tulee pisteitä seuraavasti: Kalle ja Pekka ovat kavereita ja ovat samassa joukkueessa (1 piste) Kalle ja Liisa eivät ole kavereita ja ovat eri joukkueissa (1 piste) Maija ja Pekka eivät ole kavereita ja ovat eri joukkueissa (1 piste) Tästä ratkaisusta tulisi 3 pistettä. stdin 4 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0 stdout 1 2 1 2

Joukkuejako 2 Parempi jakotapa on valita 1. joukkueeseen Kalle ja Maija ja 2. joukkueeseen Pekka ja Liisa. Tällöin pisteitä tulee seuraavasti: Kalle ja Maija ovat kavereita ja ovat samassa joukkueessa (1 piste) Kalle ja Liisa eivät ole kavereita ja ovat eri joukkueissa (1 piste) Maija ja Pekka eivät ole kavereita ja ovat eri joukkueissa (1 piste) Maija ja Pekka eivät ole kavereita ja ovat eri joukkueissa (1 piste) Pekka ja Liisa ovat kavereita ja ovat samassa joukkueessa (1 piste) Tämän jaon pistemäärä on 5, ja se on suurin mahdollinen pistemäärä tässä tilanteessa. stdin 4 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0 stdout 1 1 2 2 Syötteet Syötteet 1 ja 2 [40 pistettä] N 10 Syötteet 3 ja 4 [60 pistettä] N 100 Pisteytys Joukkuejaon pisteet skaalataan kaikkien kilpailijoiden kesken, jokainen testitapaus erikseen. Paras joukkuejako saa testistä maksimipisteet ja vastaavasti huonoin jako saa 0 pistettä. Muut joukkuejaot saavat lineaarisesti pisteitä nollan ja testin maksimipistemäärän väliltä.

Tehtaan koneet Kuvaus Tehtailija Porho valmistaa pajassaan erilaisia tuotteita. Jokainen tuote koostuu jostakin määrästä erilaisia osia. Osa valmistetaan lähtien sen raaka-aineista ja tekemällä sille tietyt toimenpiteet tietyssä järjestyksessä toimenpiteeseen soveltuvan koneen avulla. Valmistuksessa kuluu aikaa paitsi itse toimenpiteisiin, myös raaka-aineiden ja puolivalmiiden osien kuljettamiseen työkoneelta toiselle. Porho on tyytymätön tehtaansa tehokkuuteen ja päättää järjestellä koneensa paremmin. Tavoitteena olisi koota koneet työpisteiksi siten, että osien liikuttelu työpisteiden välillä olisi mahdollisimman vähäistä. Ongelma voidaan kuvata seuraavasti: olkoot käytössä olevat koneet 1, 2,, M valmistettavat osat 1, 2,, P työpisteen maksimikoko W (koneiden lukumäärä) n p osan p valmistusmäärä k p osan p valmistuksessa tarvittavien toimenpiteiden lukumäärä m p,1 m p,kp osan p valmistukseen tarvittavat koneet järjestyksessä Tehtävänäsi on laatia algoritmi, joka antaa mahdollisimman hyvän koneiden ryhmittelyn työpisteiksi. Ryhmittelyssä jokainen kone 1,, M on tietyssä työpisteessä. Jokaisessa työpisteessä on vähintään 1 konetta ja korkeintaan W konetta. Algoritmin antama ryhmittely on sitä parempi, mitä pienempi on sen kustannus. Kustannus on sama kuin valmistuksen aikana tehtyjen työpisteen vaihtojen lukumäärä. Jos osa voidaan valmistaa kokonaan yhdessä työpisteessä, sen kustannus on 0. Syöte (stdin) Tehtävän syöte annetaan seuraavassa muodossa: M P W n 1 k 1 m 1,1 m 1,k1 n P k P m P,1 m P,kp Tuloste (stdout) Ohjelmasi tulosteen tulee olla muodossa N G 1 m 1,1 m 1,G1 G N m N,1 m N,GN Yllä N on ryhmien lukumäärä, G i on ryhmän i koko ja m i,j ryhmän i kone j. Yksittäisen ryhmän koneet voi tulostaa missä järjestyksessä hyvänsä.

Esimerkki stdin 4 5 2 10 3 3 4 2 99 2 3 1 3 5 4 4 4 4 4 12 3 4 2 4 66 4 1 3 3 1 stdout 2 2 1 3 2 2 4 Yllä olevan esimerkkituloksen kustannus on 10*1 + 99*0 + 3*0 + 12*0 + 66*0 = 10. Kaikki muut osat paitsi ensimmäinen voidaan valmistaa kokonaan yhdessä työpisteessä; ensimmäistä pitää liikutella valmistuksen aikana kerran vaihdettaessa koneesta 3 koneeseen 4. Syötteet Kaikissa syötteissä P 100, W 50, n p 100 ja k p 100. Syötteet 1 ja 2 [40 pistettä] M 10 Syötteet 3 ja 4 [40 pistettä] M 100 Syöte 5 [20 pistettä] M 1000 Pisteytys Ryhmittelyn pisteet skaalataan kaikkien kilpailijoiden kesken, jokainen testitapaus erikseen. Paras ryhmittely saa testistä maksimipisteet ja vastaavasti huonoin ryhmittely saa 0 pistettä. Muut ryhmittelyt saavat lineaarisesti pisteitä nollan ja testin maksimipistemäärän väliltä.