Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointiputka: Putkaposti 20: Jalkapalloliiga

Sivun loppuun

Antti Laaksonen [03.02.2008 00:10:29]

#

Tässä on uusi putkapostitehtävä:

https://www.ohjelmointiputka.net/postit/tehtava.php?tunnus=jpl

Ratkaisua voi koettaa etsiä sekä kynällä ja paperilla että tietokoneella.

Pekka Karjalainen [03.02.2008 00:45:54]

#

Lisäisitkö Antti vielä sen eri-sanan, jonka ehdotin sähköpostitse myöhemmin? Vaikka en sanonut selvästi tekstissäni, oletukseni oli, että samaa väriä ei saa olla kuin kerran yhdessä kolmikossa.

Eikös se tulisi selvemmin ilmi, jos sanoisi "Jokaiselle joukkueelle määrätään kolme eri väriä - -"?

Tietysti jos muutit tehtävää, en protestoi. Mallivastaukseni ei vain silloin päde 100 % ^_^

Antti Laaksonen [03.02.2008 01:05:59]

#

Nyt lisäsin tehtävänantoon tuon unohtamani selvennyksen. Tarkistusohjelman onneksi ymmärsin koodata alusta alkaen niin, että se vaatii jokaiselle joukkueelle kolme eri väriä.

Pekka Karjalainen [03.02.2008 01:12:48]

#

Tack & OK. Minä en sano enempää, paitsi sen, että kaikki oleellinen tietämäni tehtävästä on myös Antin tiedossa.

tsuriga [03.02.2008 05:35:21]

#

Tekstieditoriin taulukkoa, ei kai sitä nyt parempaakaan tekemistä tähän aikaan.

Seriffi [03.02.2008 15:25:49]

#

Olipas hyvä tehtävä!

"Mallivastaukseni ei vain silloin päde 100 % ^_^"
Onhan 20 joukkuetta maksimi?

Ohjelmani löytää ensimmäisen sekunnin aikana 20p joukkueen(joskus saattaa mennä pidempäänkin). Tämän jälkeen niitä löytyy noin vajaa 20 ratkaisua sekunnissa :)

Päärynämies [03.02.2008 15:35:14]

#

Voisi koittaa harjoituksena ratkaista tuon Haskell:ta käyttäen. Oppisi sitäkin sitten paremmin. Oman viidessä minuutissa kehittelemäni ratkaisumenetelmä voisi jopa toimiakin. Katsotaan, jos tästä saisi ratkaisun aikaiseksikin, kun edellisestä se jäi hieman (mutta ei paljoa) kesken.

FooBat [03.02.2008 15:50:31]

#

Seriffi kirjoitti:

Onhan 20 joukkuetta maksimi?

12*11/2 = 66 eri väriparia. 3 väriparia joukkuetta kohdin. Todennäköisesti maksimi on siis 22 joukkuetta :) Tämä on tosin vain teoreettinen maksimi, mutta tehtävän luonteen perusteella se vaikuttaa mahdolliselta.

Seriffi [03.02.2008 15:55:36]

#

Arght, sittenhän sitä joutuu palata suunnittelupöydän ääreen. 20 joukkueen ratkaisuja on kertynyt tähän mennessä 33701 kpl.

Päärynämies [03.02.2008 16:01:13]

#

Minusta on tavallaan kurjaa, kun paljastetaan mahdollisesti se suurin mahdollinen joukkueiden määrä. Mukavampi ratkoa, kun ei tiedä mihin tulokseen pitäisi päästä vaan joutuisi itse miettimään, onko se nyt se optimaalisin tulos vai voiko vielä mahdollisesti parantaa. Jos sen paljastaa, niin sitten poistuu tuo pohdinta oman ratkaisun "pätevyydestä", jos tietää jo että saamaansa tulosta ei voi enää parantaa.

VilleP [03.02.2008 16:01:43]

#

FooBat kirjoitti:

12*11/2 = 66 eri väriparia. 3 väriparia joukkuetta kohdin. Todennäköisesti maksimi on siis 22 joukkuetta :) Tämä on tosin vain teoreettinen maksimi, mutta tehtävän luonteen perusteella se vaikuttaa mahdolliselta.

Rot13 -sotkettuja spoilereita:

Wbf nfvnn ghgxvfgryrr uvrzna yvfää, wn invxxncn zrexxnn 12k12 zngevvfvva inenghg iäevcnevg, ibv fhugrryyvfra äxxvä wbugnn lyäenwna xnxfvxlzzragä. Gäzä lyäenwn frhenn fvvgä, rggä luqra wbhxxhrra yvfääzvara zrexxnn 6 cnevn qvntbannyva hyxbchbyryyr, wn fvvgä, rggä cnevyyvfhhfflvfgä wbxnvfryyr innxnevivyyr ghyrr qvntbannyvehhqha yvfäxfv iävfgäzäggä lxfv gluwä ehhgh. (xnxfvgbvfgn*xnxfvgbvfgn-xnxfvgbvfgn-xnxfvgbvfgn)/xhhfv = xnxfvxlzzragä.

Pekka Karjalainen [03.02.2008 16:32:59]

#

Seriffi kirjoitti:

Onhan 20 joukkuetta maksimi?

Minulla ei ole mitään lisättävää VilleP:n salattuun tekstiin. Hyvin samalla tavalla itsekin ajattelin. Ei nyt sanota suoraan tarkkaa tietoa kuitenkaan, että myös uusi yrittäjä saa itse pohtia, jos haluaa.

vehkis91 [03.02.2008 17:14:23]

#

Onko tossa rot13 vaihdettu jokainen kirjain 13 edempänä olevvaan kirjaimeen?

(Halusin vaan tietää)

Seriffi [03.02.2008 17:17:32]

#

vehkis91 kirjoitti:

Onko tossa rot13 vaihdettu jokainen kirjain 13 edempänä olevvaan kirjaimeen?

http://www.rot13.com/index.php

vehkis91 [03.02.2008 17:18:38]

#

ok

Päärynämies [03.02.2008 21:17:46]

#

Jaahas, tämä olikin hankalampi mitä äkkiseltään luulin. Sainkin vasta 15 tulosta omalla yksinkertaisella algoritmillani. Tuosta ilmeisesti on vielä varaa parantaa. Pitänee tarttua kynään ja paperiin ja miettiä matematiikkaa enemmän tuon takana.

TsaTsaTsaa [04.02.2008 20:17:47]

#

Hyvinkin yksinkertaisella koodinpätkällä pääsin tulokseen 19, pitää katsoa jos jaksaisi vielä miettiä parempaa tapaa, että pääsisi edes siihen 20:een.

Metabolix [05.02.2008 00:21:50]

#

Ei se 20 mitään järkyttävää oivallusta vaadi myöskään.

TsaTsaTsaa [05.02.2008 10:37:42]

#

Metabolix kirjoitti:

Ei se 20 mitään järkyttävää oivallusta vaadi myöskään.

EPÄMÄÄRÄINEN SPOILAUS:

Pääsin siihen niinkin hienosti, että ensin tein kaikki mahdolliset kolmen värin yhdistelmät ja sitten sieltä poimin randomijärjestyksessä semmoisia, joilla ei ollut jo poimittujen kanssa kuin korkeintaan yksi yhteinen väri, niin kauan kuin yhdistelmiä piisasi. Sitä sitten ajoin niin monta kertaa, että pääsin 20:een :)

User137 [06.02.2008 07:08:33]

#

19 paras mihin päässy kun randomilla annan koneen arpoa minuutin verran. Numerojärjestyksessä kun kokeilee niin antaa vain 17.

L2-K2 [06.02.2008 10:33:18]

#

User137 kirjoitti:

19 paras mihin päässy kun randomilla annan koneen arpoa minuutin verran. Numerojärjestyksessä kun kokeilee niin antaa vain 17.

Ainakin itse sain 19 numerojärjestyksessä poimimalla...

jlaire [06.02.2008 15:07:32]

#

Tulihan se sieltä. Löysin useita 19 joukkueen liigoja ilman koodia pienellä päättelemisellä, mutta alkoi vaikuttaa siltä, että 20 vaatisi joko todella paljon kokeilemista tai enemmän miettimistä. Toteutin nyt Haskellilla yksinkertaisen syvyyshaun, ja pienellä optimoinnilla 20 löytyi parissa minuutissa.

User137 [06.02.2008 17:39:36]

#

Noniin 20.. pieni bugi oli koodissa tietysti :P Ja niitä ratkaisuja on enemmän kuin 1.

Päärynämies [24.02.2008 17:14:00]

#

Melko helpolla sitten löytyikin tuo 20. Algoritminkään ei tarvinnut olla kovin monimutkainen. Ensin tosiaan koitin Haskellilla ja sain vain sen 15, mutta vaihdoin sitten lähestymistapaa ja C:llä kirjoitin, niin sain sen 20 joukkuetta. Tuonkin ratkaisun löytämiseen menee omalla algoritmilla ihan muutama sekunti.

Nyt vain seuraavaa putkapostia odottelen...

Metabolix [24.02.2008 17:58:01]

#

20 löytyy todistettavasti myös ihmisaivojen ihmeellisillä kyvyillä kynää ja paperia käyttäen. Kokenut ohjelmoija saanee homman nopeammin tehtyä yksinkertaisella algoritmilla, mutta se ei tosiaan ole aivan välttämätön tähän tehtävään.

Päärynämies [24.02.2008 18:09:42]

#

Onhan vastauksen löytäminen aina pelkkää kynää ja paperia käyttäen totta kai hienompaa ja antaa enemmän tyydytystä ainakin itselle. En olekaan täysin tyytyväinen tapaani ratkaista tuota, sillä ratkaisu perustuu vain erilaisten vaihtoehtojen läpikäymiseen elikkä kyse on lopulta vain laskentatehosta. Elegantimpi ratkaisukin ohjelmallisesti on varmasti olemassa, aika ei vain tunnu riittävän sen etsimiseen.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta