Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointiputka: Putkaposti 22: Pelinauhoitus

Sivun loppuun

Antti Laaksonen [21.05.2008 22:14:45]

#

Uusi putkaposti kolahti viimein luukusta:

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

Miten löytää reitti labyrintin maaliin, kun suunnanvaihdot on määrätty etukäteen?

Metabolix [22.05.2008 02:07:44]

#

Ihan mukava tehtävä, varsin triviaali, hyvää Datatähti-tasoa, tai sitten ratkaisin väärin. ;) Koodia kertyi C++:lla 200 riviä, josta noin 100 kului tyyppimäärittelyihin ja muuhun "ylimääräiseen", kun nyt pitkästä aikaa innostuin leikkimään tyylikkäillä luokilla. Varsinainen algoritmi on vain joitakin kymmeniä rivejä pitkä.

Tehtävänannosta ei ainakaan minun silmiini sattunut kohtaa, jossa olisi selkeästi mainittu, että kyseessä täytyy olla juuri peräkkäisten painallusten. Tietenkin tämä on aivan loogista, mutta toisaalta miksei Uolevi voisi välillä jättää peliään kesken ja käydä selaamassa Ohjelmointiputkaa?

Postilaatikko ei näytä olevan samaa mieltä siitä, mikä tehtävässä oli tavoiteltava ratkaisu, kun yhä näkyy 1177 parhaana vastauksena.

Antti Laaksonen [22.05.2008 09:32:34]

#

Selvensin tehtävänantoa kirjoittamalla sopivaan paikkaan sanan "yhtäjaksoinen". Nyt myös sivupalkkiin tulee näkyviin pienin eikä suurin tulos.

jlaire [23.05.2008 07:30:29]

#

Metabolix kirjoitti:

Ihan mukava tehtävä, varsin triviaali, hyvää Datatähti-tasoa, tai sitten ratkaisin väärin. ;)

Taisit ratkaista väärin. :)

Oman ratkaisuni ajoaika on suunnilleen 20s ja rivejä on vajaa 100. Jos 147 osoittautuu optimaaliseksi (en ole täysin varma), niin tuskin viitsin tuota paljoa optimoida.

Tänään tulee myös euleriin uusi ongelma.

Metabolix [23.05.2008 11:06:42]

#

Jaha, varmaan on sitten jotain jäänyt vielä muuttamatta siitä versiosta, joka ei huomioinut, että rivin piti olla yhtenäinen. Pitäisi varmaan sellaisessa tilanteessa tehdä algoritmi suosiolla uusiksi eikä vain todeta, että "tässähän tarvitaan vain pari muutosta"... ... Joo, juuri tästähän se oli kiinni, löytyi parissa minuutissa, kun luki ajatuksella koodin. :)

Ratkaisuni laskee koko pakettia 0,2 sekuntia. Ajatuksen tasolla algoritmi on oikea (eli tulos on optimaalinen), ohjelmointivirheet ovat tietenkin aina mahdollisia. Pieni optimointikin (erityisesti isoja tasoja varten) olisi vielä mahdollista, siitä ei sen enempää tässä.

Rot13-spoileri

Cvqrgääa lyyä gnhyhxxbn, wbffn bing xäfvgrygäiääa ancvacnvanyyhxfrra cääggliäg cneunng engxnvfhg xhuhaxva ehhghha, nyhxfv fvvf inva yäugöehhqhffn gneivggnivn cnvanyyhxfvn abyyn, zhhnyyn ääergöa. Wbxn flöggrra xbuqnyyn cävivgrgääa gnhyhxxbn avva, rggä wbxn ehhqhfgn yvvxhgnna flöggrra zhxnvfrfgv wn zrexvgääa hhqrg znuqbyyvfrg fvwnvaavg. Xvreebxfra ybchffn cbvzvgnna gnygrra ybcchehhghha wbugnahg nfxryfnewn, wbf fr ba cnerzcv xhva ragvara ruqbxnf.

Fnngnin ghybf ba bcgvznnyvara, xbfxn nyxhgvynaar ba bcgvznnyvara wn cävivglxfrg gruqääa avva, rggä wbxn ehhghha ghyrr fvvura wbugnivfgn invugbruqbvfgn cnenf. Cävivglxfra lugrlqrffä hhqrg fvwnvaavg gälgll zrexvgä hhgrra gnhyhxxbba, wbxn ba nyhfgrggh znvavgghha bcgvznnyvfrra nyxhgvynna. Wbf cävivglf grugävfvva nvan xhyybvfrraxva gvynagrrfrra, engxnvfh uliäxflvfv zlöf fnewbwn, wbvqra ancvacnvanyyhxfrg rviäg byr creäxxäva. Yvvxxhzvfra lugrlqrffä gälgll zhvfgnn, rggä crynnwn ibv clflä cnvxnyynna, wbf wn inva wbf uäa göezää urgv frvaääa, wn gäyyövaxva yvvxxhzvfzääeä ba fhherzcv xhva abyyn nfxrygn. Znvavghffn rv-lugraävfrffä irefvbffn gägä rv gneivgfr uhbzvbvqn.

FooBat [24.05.2008 00:13:39]

#

Ei toi nyt ihan triviaali ollut :) Piti nukkua yön yli ennen kuin tuon ratkaisevan kikan keksi. Ei tuossa ajossa lopulta mennyt edes sekunnin kymmenystä.

Rot13
Xälgva aäxöwääa zryxb fnznaynvfgn vqrnn xhva Zrgnobyvk ghbffn fcbvyrevffn, zhggn crehfnytbevgzvan ghbffn gbvzv N*.

Antti Laaksonen [25.05.2008 20:37:26]

#

Paransin äsken putkapostien vastausten näyttöä niin, että ensimmäisenä on parhaan vastauksen ensin lähettänyt eikä myöhemmin tulostaan parantanut jonkin vastauksen ensin lähettänyt. Tästä lähtien ei siis tarvitse varata kärkipaikkaa lähettämällä mahdollisimman nopeasti edes jonkin vastauksen. Myös vanhat "vääryydet" ovat korjaantuneet.

User137 [26.05.2008 14:56:48]

#

Tuo palautus sivu antaa "Testisyötteiden joukossa ei ole nauhoitetta, jonka pituus olisi xxxxxxxxxx" merkkiä. Tuo xxxx siis koostuu numeroista 1-9, 10 merkkiä ensimmäisessä labyrintissä. Pitääkö minun katkaista syöte siihen pisteeseen jossa se päätyy maaliin vai pitääkö vastauksessa olla kaikki 5 labyrinttiä (en ole vielä kaikkia ratkaissut, joku typo taas jossain kai niin ei optimoitu koodi toimi :P).

teksturi [26.05.2008 15:20:52]

#

[Offtopic]
Putkapostissa lukujenvihaaja https://www.ohjelmointiputka.net/postit/tehtava.php?tunnus=lukuv on tullut virhe tuloksissa. Esimerkiksi villep:llä pitäisi olla 17 ja minullakin kait on 17 jos oikein muistan.
[Offtopic]

L2-K2 [26.05.2008 17:32:26]

#

teksturi kirjoitti:

[Offtopic]
Putkapostissa lukujenvihaaja https://www.ohjelmointiputka.net/postit/tehtava.php?tunnus=lukuv on tullut virhe tuloksissa. Esimerkiksi villep:llä pitäisi olla 17 ja minullakin kait on 17 jos oikein muistan.
[Offtopic]

Itsekin muistan selvästi tuon ratkaisseeni... (17 siis.)

Antti Laaksonen [26.05.2008 20:10:23]

#

User137 kirjoitti:

Tuo palautus sivu antaa "Testisyötteiden joukossa ei ole nauhoitetta, jonka pituus olisi xxxxxxxxxx" merkkiä.

Onko vastaus varmasti oikeassa muodossa (ensin koko syötteen pituus, sitten aloituskohta, sitten ajastukset)? Jos ongelma ei ratkea, voit lähettää minulle sähköpostilla vastauksen, jota palautussivu ei hyväksy, jolloin voin tutkia asiaa tarkemmin. Vastauksessa ei tarvitse ilmoittaa ratkaisua kaikkiin labyrintteihin, vaan niistä voi valita mitkä tahansa.

teksturi kirjoitti:

Putkapostissa lukujenvihaaja - - on tullut virhe tuloksissa.

Kiitos ilmoituksesta, nyt tämän tehtävän tulosten pitäisi olla oikein.

User137 [27.05.2008 00:31:16]

#

Ai juu ei ollut oikeassa formaatissa.


Sivun alkuun

Vastaus

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

Tietoa sivustosta