Putkaposti korttikierrot

Tehtävä https://www.ohjelmointiputka.net/postit/tehtava.php?tunnus=korkie

Olen varmaan kymmeniä kertoja latjannut tuon ensimmäisen tapauksen 4, [1, 2] (ihan konkreettisilla korteilla ja koodilla) ja ei vaan käy järkeen miksi vastaus ei ole 3.

Lähdetään järjestyksestä [1, 2, 3, 4] (sillähän ei ole väliä mitä korteissa lukee, merkataan nyt että tuo on järjestys, ni on selkeämpää).
Kun lajittelu tehdään kerran, minä saan, että tulee
[4, 1, 3, 2]
ja toisen kerran, niin
[2, 4, 3, 1]
kolmannen
[1, 2, 3, 4]

Eli saan ratkaisuksi 3. Mutta se on putkapostin mukaan väärin. Oikea vastaus on 2 (testailin ja se hyväksyi 2:n). Mitä minä teen väärin?

19

66

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Vaikea sanoa. En edes ymmärrä tehtävää. Oletko kysynyt tehtävän laatijalta?

    • Anonyymi

      4 1 2 tarkoittanee siis neljää korttia, yksi pino ja kaksi korttia/pino.

      Kortit 1-2-3-4 menee luonnollisesti yhteen pinoon ensin 4-3 ja koska muita pinoja ei olekaan niin samaan pinoon 2-1.

      4-3-2-1 menee toisessa jaossa taas käänteisesti ensin 1-2 ja koska muita pinoja ei olekaan niin samaan pinoon 3-4.

      On siis palattu alkupisteeseen kahden jaon jälkeen.

      Kysyjällä taisi olla neljä korttia, jotka jaettiin kahteen pinoon niin että ekaan pinoon yksi kortti ja toiseen pinoon kaksikorttia minkä jälkeen taas ekaan pinoon viimeinen.

      • Anonyymi

        Eikös tuo ole yhden jaon tapaus, ei 2, eikä 3, vaan 1

        Missä, ne oikeat vastaukset on?

        T. Urpo


      • Joo, niinhän se menee! Pitäs lukee ne tehtävät tarkemmin. Kiitos.


    • Anonyymi

      Aloitin tämän näköisellä tekeleellä: https://s5.gifyu.com/images/Paate_028.png

      Tuohan ei tee muuta kuin yhteen vedon yhdestä tehtävästä. Seuraavaksi kai pitäisi ratkaista eri pinoihin korttien lajittelu. Mutta kuinka sen nyt saa sellaiseksi, että toimii vielä kun vaihtaa seuraavaan tehtävään.

      Muut tehtävät on tuossa REMmattu risuaidalla (#) alussa, ja vain yksi on otettu käsittelyyn. Tuon kuvan tuottaa tämä https://pastebin.com/C3Hst91s

      Luultavasti moderointi poistaa tämän, joten tulosta PDF jotta linkit säilyy toimivana, mikäli tarvetta.

      T. Urpo

      • Siellä ei ole oikeita vastauksia näkyvillä, vaan omat lähetetään ja sivusto testaa menikö oikein.

        Mä saan, että ensimmäisen lajittelun jälkeen kortit tuossa tapauksessa on

        [52, 51, 34, 33, 16, 15, 50, 49, 48, 47, 46, 45, 44, 32, 31, 30, 29, 28, 27, 26, 14, 13, 12, 11, 10, 9, 8, 43, 42, 41, 25, 24, 23, 7, 6, 5, 40, 39, 38, 37, 36, 35, 22, 21, 20, 19, 18, 17, 4, 3, 2, 1]

        kun siis lähdetään range(1, 53):sta.

        Jos joku haluaa vinkkiä ratkaisemiseksi, niin: crezhgnngvba xregnyhxh.


      • Anonyymi
        minkkilaukku kirjoitti:

        Siellä ei ole oikeita vastauksia näkyvillä, vaan omat lähetetään ja sivusto testaa menikö oikein.

        Mä saan, että ensimmäisen lajittelun jälkeen kortit tuossa tapauksessa on

        [52, 51, 34, 33, 16, 15, 50, 49, 48, 47, 46, 45, 44, 32, 31, 30, 29, 28, 27, 26, 14, 13, 12, 11, 10, 9, 8, 43, 42, 41, 25, 24, 23, 7, 6, 5, 40, 39, 38, 37, 36, 35, 22, 21, 20, 19, 18, 17, 4, 3, 2, 1]

        kun siis lähdetään range(1, 53):sta.

        Jos joku haluaa vinkkiä ratkaisemiseksi, niin: crezhgnngvba xregnyhxh.

        Sinä käytit sitä esimerkin kahden kortin sääntöä, mutta eikös tämä mene niin että, siinä on lueteltu, montako kuhunkin pinoon laitetaan, kuten tuossa kuvassakin minulla oli, eikö niin?

        T. Urpo


      • Anonyymi
        Anonyymi kirjoitti:

        Sinä käytit sitä esimerkin kahden kortin sääntöä, mutta eikös tämä mene niin että, siinä on lueteltu, montako kuhunkin pinoon laitetaan, kuten tuossa kuvassakin minulla oli, eikö niin?

        T. Urpo

        Ensimmäinen korttien lajittelu pinoihin, tuotti sisällöltään nämä pinot

        Pinon 4 kortit:
        52, 51, 50, 49, 36, 35, 34, 33, 32, 31, 18, 17, 16, 15, 14, 13

        Pinon 3 kortit:
        48, 47, 46, 30, 29, 28, 12, 11, 10

        Pinon 2 kortit:
        45, 44, 43, 42, 41, 40, 39, 27, 26, 25, 24, 23, 22, 21, 9, 8, 7, 6, 5, 4, 3

        Pinon 1 kortit:
        38, 37, 20, 19, 2, 1

        T. Urpo


      • Anonyymi kirjoitti:

        Sinä käytit sitä esimerkin kahden kortin sääntöä, mutta eikös tämä mene niin että, siinä on lueteltu, montako kuhunkin pinoon laitetaan, kuten tuossa kuvassakin minulla oli, eikö niin?

        T. Urpo

        Kyllä mä "52 4 2 7 3 6":sta käytin mutta tein niin, että kun pakka on aluksi se range(1, 53), ni niitä lähdetään latomaan lopusta päin, eli ensimmäisenä laitetaan kortti 52 ensimmäiseen pinoon jne.

        Sinulla nuo pinot on ilmeisesti siis niin, että viimeinen on alimmainen(?) Kortti 52 on laitettu viimeisenä pinoon 4. Kyllä siitä sama permutaatio taitaa tulla. Kun nuo sinun pinot kootaan, niin siitä tulee pakka

        [1, 2, 19, ..., 52]

        Sinulla kortti k vastaa minun korttia 53-k. Esim. missä sinulla on 19, niin minulla on 34. Mutta samalla tavalla ne kuvautuu uusiin paikkoihin, sinulla paikat vaan luetaan "lopusta" päin. Minä valitsin tuon alusta päin lukemis tavan, koska silloin se on suoraan se tapa millä permutaatio p yleensä esitetään luettemalla alkioiden 1,2,...,n kuvat järjestyksessä p(1), p(2), ..., p(n).


    • Anonyymi

      Miten ihmeessä tuo tehdään? En saa ratkaistua. Millainen permutaatiosysteemi tuon ratkaisee?

      • Kun se permutaatio, johon pakka menee, kun lajittelu on tehty kerran, on saatu selville, täytyy siis enää selvittää kuinka monta kertaa lajittelu pitää toistaa (eli tuolla samaisella permutaatiolla operoida pakkaa) että päädytään alkuperäiseen. Onko permutaation kertaluku tuttu käsite? Se on juuri mitä tuossa kysytään. Tästä: https://en.wikipedia.org/wiki/Permutation#Permutation_order saattaa olla hyötyä. Itse käytin Sagea, jossa haluttu funktio on valmiina, mutta olen kyllä koodannut muistaakseni useampaankin kertaan ne laskemiseen tarvittavat funktiot :D


      • Anonyymi
        minkkilaukku kirjoitti:

        Kun se permutaatio, johon pakka menee, kun lajittelu on tehty kerran, on saatu selville, täytyy siis enää selvittää kuinka monta kertaa lajittelu pitää toistaa (eli tuolla samaisella permutaatiolla operoida pakkaa) että päädytään alkuperäiseen. Onko permutaation kertaluku tuttu käsite? Se on juuri mitä tuossa kysytään. Tästä: https://en.wikipedia.org/wiki/Permutation#Permutation_order saattaa olla hyötyä. Itse käytin Sagea, jossa haluttu funktio on valmiina, mutta olen kyllä koodannut muistaakseni useampaankin kertaan ne laskemiseen tarvittavat funktiot :D

        Joo, on tuttu käsite. Eli pitää tehdä permutaatio, etsiä sen syklit ja laskea niiden lcm. Koodaaminen vaan tuottaa hankaluuksia.



    • Itse taas jumitan tietosanakirja-tehtävän kanssa: https://www.ohjelmointiputka.net/postit/tehtava.php?tunnus=tsk

      Olen kokeillu simuloidun jäähdytyksen tyyppistä algoritmia, mutta se ei hyviä tuloksia tuota (en tiedä onko mulla siinä virhe tai en löydä hyviä parametrien arvoja). Toinen juttu mitä kokeilin on, että paikka mistä jaetaan valitaan yksi paikka kerrallaan ja tässä aina valitaan optimaalisin. Mutta tämä ei (tietenkään) oikeaa optimaalista ratkaisua tuota.

      Oisko kellään tähän mitään vinkkiä antaa?

      • Keksin tietosanakirja-strategian muuten tässä taannoinen päivä. Ihanhan se menee... edullisimman polun etsimisenä, vähän tuunattuna, koska polun pituus pitää olla tasan 15. Tehdään 15 eri tasoa ja siirrytään joka askeleella uudelle tasolle. Lähtö on eka tason eka kirja ja päätepiste on vikan tason vika kirja. Ja kaarten painot on se miten paljon sellaisen kirjan tekeminen tuottaa odotusarvoon (eteen päin vain siis on kaaria joka artikkelista).


    • Anonyymi

      Nykyään Putkaposteissa moderaattorien linja on tiukempi eikä apua saa kysyä. Tulos voidaan hylätä, jos jäät kiinni lunttauksesta.

    Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Millä voin

      Hyvittää kaiken?
      Ikävä
      96
      2655
    2. Jotain puuttuu

      Kun en sinua näe. Et ehkä arvaisi, mutta olen arka kuin alaston koivu lehtiä vailla, talven jäljiltä, kun ajattelen sinu
      Ikävä
      101
      2243
    3. Haluan sut

      Haluatko sinä vielä mut?
      Ikävä
      91
      2010
    4. Ampuminen Iisalmessa

      Älytöntä on tämä maailman meno.
      Iisalmi
      13
      1719
    5. Hei A, osaatko

      sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en
      Ikävä
      44
      1691
    6. Haluaisin aidosti jo luovuttaa ja unohtaa

      Ei tästä mitään tule koskaan.
      Ikävä
      78
      1656
    7. Pohjola kadulla paukuteltu

      Iltasanomissa juttua.
      Iisalmi
      36
      1646
    8. 91
      1573
    9. Synnittömänä syntyminen

      Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.
      Helluntailaisuus
      128
      1447
    10. Mitä tämä tarkoittaa,

      että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?
      Ikävä
      41
      1274
    Aihe