Algoritmi tiheän sanasuorakulmion laadintaan

Olen itseoppinut ohjelmoija. Haluaisin oppia paremmaksi. Miten oppisin tekemään seuraavanlaisen ohjelman:

Mulla on joukko sanoja, jotka pitäisi laittaa sanaristikkomaisesti annetun kokoiseen suorakulmaiseen laatikkoon siten, että jokaisessa ruudussa olisi yksi kirjain. Ruudukosta voi lukea annetun sanan pystysuoraan, vaakasuoraan tai vinottain, eli yhteensä kahdeksaan asuuntaan. Lukemisessa siis kiinnitetään alkuruutu ja suunta, eli sana ei voi kiemurrella eri suuntiin. Millaisella algoritmilla saisin laitettua sanat mahdollisimman pieneen ruudukkoon?

Netistä luin, että simuloitu jääḧdytys tai genettinen algoritmi voisi toimia tuollaisissa tilanteissa. Mutta olen vielä niin aloittelija, että en osaa ohjelmoida tuollaista. Mistä löytäisin apua ongelmaan?

Yritin ymmärtää koodia osoitteessa https://stackoverflow.com/questions/3382859/solving-a-recreational-square-packing-problem?rq=1 , 6502:n linkissä, mutta en saanut sitä muokattua ei-neliöruudukkoihin.
0147
Äänestä

Muut lukivat myös

Vastaukset

Vanhimmat

Ei vielä vastauksia

Aloittaja odottaa vastauksia. Kerro oma näkemyksesi ensimmäisenä.

Kommentoi aloitusta


juniorikoodari kirjoitti:

Olen itseoppinut ohjelmoija. Haluaisin oppia paremmaksi. Miten oppisin tekemään seuraavanlaisen ohjelman:

Mulla on joukko sanoja, jotka pitäisi laittaa sanaristikkomaisesti annetun kokoiseen suorakulmaiseen laatikkoon siten, että jokaisessa ruudussa olisi yksi kirjain. Ruudukosta voi lukea annetun sanan pystysuoraan, vaakasuoraan tai vinottain, eli yhteensä kahdeksaan asuuntaan. Lukemisessa siis kiinnitetään alkuruutu ja suunta, eli sana ei voi kiemurrella eri suuntiin. Millaisella algoritmilla saisin laitettua sanat mahdollisimman pieneen ruudukkoon?

Netistä luin, että simuloitu jääḧdytys tai genettinen algoritmi voisi toimia tuollaisissa tilanteissa. Mutta olen vielä niin aloittelija, että en osaa ohjelmoida tuollaista. Mistä löytäisin apua ongelmaan?

Yritin ymmärtää koodia osoitteessa https://stackoverflow.com/questions/3382859/solving-a-recreational-square-packing-problem?rq=1 , 6502:n linkissä, mutta en saanut sitä muokattua ei-neliöruudukkoihin.

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