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

206

    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. YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua

      Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä
      Äänekoski
      99
      2045
    2. Euroopan lämpöennätys, 48,8, astetta, on mitattu Italian Sisiliassa

      Joko hitaampikin ymmärtää. Se on aivan liikaa. Ilmastonmuutos on totta Euroopassakin.
      Maailman menoa
      289
      1854
    3. Asiakas iski kaupassa varastelua tehneen kanveesiin.

      https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava
      Maailman menoa
      322
      1667
    4. Martina lähdössä Ibizalle

      Eikä Eskokaan tiennyt matkasta. Nyt ollaan jännän äärellä.
      Kotimaiset julkkisjuorut
      203
      1546
    5. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      30
      1153
    6. Jos ei tiedä mitä toisesta haluaa

      Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em
      Ikävä
      94
      1093
    7. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      89
      1057
    8. Määpä tiijän että rakastat

      Minua nimittäin. Samoin hei! Olet mun vastakappaleeni.
      Ikävä
      51
      1037
    9. Se nainen näyttää hyvältä vaikka painaisi 150kg

      parempi vaan jos on vähän muhkeammassa kunnossa 🤤
      Ikävä
      63
      1032
    10. Avustikset peruttu.

      Aettokosken ampuraan rahat otettu poekkeen valtiolle.
      Suomussalmi
      58
      1018
    Aihe