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?
16293
Äänestä

Muut lukivat myös

Vastaukset 16

Vanhimmat

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

Äänestä

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.

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

    Missä, ne oikeat vastaukset on?

    T. Urpo

    Äänestä

  • Aloittaja

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

    Äänestä

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

Äänestä
  • Aloittaja

    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.

    Äänestä

  • 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

    Äänestä

  • 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

    Äänestä

  • Aloittaja

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

    Äänestä

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

Äänestä
  • Aloittaja

    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

    Äänestä

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

    Äänestä

  • Aloittaja

Aloittaja

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?

Äänestä
  • Aloittaja

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

    Äänestä

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

Äänestä

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

Kommentoi aloitusta


minkkilaukku kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu