[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 10.4.2006 18:14 |
Kiitoksia Joonakselle noista ytimekkäistä ratkaisuista, jotka ilmeisesti ovat ainoat mahdolliset. Joonas oli myös aivan oikein havainnut, että ensimmäiseenkin tehtävään on vain yksi ratkaisu. Ehkä on vielä paikallaan lyhyesti selittää, miten peli ratkeaa vaihe vaiheelta. Tyydyn selittämään vain 3 x 4 -pelin ensimmäisen askeleen * 6 * * 30 8 * * * 18 * * 3 * 30 27 16 10 25 jossa toiselle pystyriville tulevat luvut 1 ja 9 näin: * 6 * * 30 8 1 * * 18 * 9 3 * 30 27 16 10 25 Ilman tehtävässä asetettuja rajoituksia mahdollisia valintoja olisivat olleet: 1+9 9+1 ei mahdollinen, koska 2. rivin summa 18 ylittyisi, 2+8 8 on jo taulukossa, 8+2 samoin, 7+3 3 on jo taulukossa, 3+7 samoin, 4+6 6 on jo taulukossa, 6+4 samoin, Siis 1+9 on ainoa sallittu valinta. Näin katsomalla kussakin vaiheessa eri vaihtoehdot ja sulkemalla pois eri syistä mahdottomat pääsee eteenpäin. * * * 5 x 5 -taulukon ratkaiseminen on, kuten osasin odottaa, huomattavasti vaikeampaa. Lähetin tätä summapeliä (tai voisiko sanoa suorastaan SURVO-peliä) koskevan viestin myös Olli Mustoselle sähköpostitse. Hän oli silloin konserttimatkalla Wienissä ja Budapestissa. Olli on viime aikoina osoittanut kiinnostusta Sudoku- ja Kakuro-peleihin ja ratkaissut niitä mielikseen. Seuraavana päivänä häneltä tuli takaisin kännykkääni tekstiviesti, jossa kertoi ratkaisseensa tuon 5 x 5 -pelin ja kommentoi: "huhhuh, eipä ollut ihan helppo!". Hänen palattuaan Suomeen viikonvaihteessa pyysin häntä kertomaan, miten ratkaisu syntyi. Näin hän sen kuvasi: .................................................. Olen tässä antanut vaakariveille numerot ylhäältä alas 1-5 ja pystyriveille (sarakkeille) kirjaimet vasemmalta oikealle A-E. A B C D E 1 24 * * * * 60 2 19 * * 11 13 88 3 * 21 * * * 40 4 * * 14 6 * 70 5 * 12 * * 17 67 64 84 56 36 85 Huomasin, että riville 2 tarvitaan kahden luvun summana 45. Käytettävissä olevilla luvuilla tämä onnistuu vain kahdella tavalla: 20+25 ja 22+23. Suuria lukuja tarvitaan myös sarakkeessa E - ongelmana on ruutu E3, jossa ei voi olla kovin suurta lukua, koska rivin 3 vielä tyhjänä olevien neljän ruudun summa saa olla vain 19. Pienen tutkimisen jälkeen tulin siihen tulokseen, että E3 voi olla vain 7, 8 tai 10. Sarakkeen E jäljelle jäävän kahden ruudun summa voi siis olla 45, 47 tai 48 - nämä summat voivat muodostua vain luvuista 20, 22, 23 ja 25 eri tavoin yhdisteltyinä. Koska kahta näistä neljästä luvusta tarvitsemme rivillä 2, ja siellä summan täytyy olla 45, voimme päätellä, että myös jäljelle jäävät kaksi suurta lukua ruuduissa E1 ja E4 saavat summakseen 45. Tämä puolestaan tarkoittaa sitä, että E3 täytyy olla 10. A B C D E 1 24 * * * * 60 2 19 * * 11 13 88 3 * 21 * * 10 40 4 * * 14 6 * 70 5 * 12 * * 17 67 64 84 56 36 85 Kirjoitin nyt listan kaikista mahdollisista ratkaisuista sarakkeelle B. Näistä saatoin poistaa kaikki ne, joissa esiintyi luku 10 (tarvitaan ruudussa E3) sekä sellaiset, joissa tarvittiin kahta lukua joukosta 20, 22, 23 ja 25 - nämä kaikki luvuthan tarvitsemme ruutuihin B2, C2, E1 ja E4. Tein vastaavanlaisen listan myös rivin 4 tilanteesta. Näiden toimenpiteiden jälkeen sarakkeelle B jäi kaksi mahdollista ratkaisua: 15,16,20 tai 8,18,25. Tästä voimme jo päätellä, että näissä ratkaisuissa esiintymättömien lukujen 22 ja 23 täytyy sisältyä sarakkeeseen E, joista toisen täytyy siis esiintyä rivillä 4, ruudussa E4. Ruudussa B4 esiintyvä luku täytyy vuorostaan olla alle 20. Ainoa aiemmin listaamistani rivin 4 ratkaisuista, joka täyttää kaikki aiemmin mainitut ehdot (mukana täytyy olla joko 22 tai 23, molempien muiden lukujen täytyy olla alle 20, luku 10 ei voi esiintyä rivillä) on 9,18,23. Tästä seuraa, että E4 on 23 ja vastaavasti E1 on 22. Tästä seuraa myös, että ruudussa B4 täytyy olla joko 9 tai 18. Sarakkeen B ratkaisu on siis 8,18,25 - B2 on 25, B4 on 18 ja näin ollen B1 on 8. C2 on 20. A B C D E 1 24 8 * * 22 60 2 19 25 20 11 13 88 3 * 21 * * 10 40 4 * 18 14 6 23 70 5 * 12 * * 17 67 64 84 56 36 85 Vastaavasti A4 on 9 ja A3+A5 täytyy olla yhteensä 12 - jäljellä olevilla luvuilla ainoa mahdollisuus on 5+7. 7 on liian suuri luku ruutuun A3, joten A3 on 5 ja A5 on 7. A B C D E 1 24 8 * * 22 60 2 19 25 20 11 13 88 3 5 21 * * 10 40 4 9 18 14 6 23 70 5 7 12 * * 17 67 64 84 56 36 85 Näin ollen C5+D5 on 31, ainoana ratkaisuna jäljellä olevilla luvuilla 15+16. Tässä vaiheessa ratkaistavaksi jää enää se, kummin päin luvut 15 ja 16 ovat rivillä 5 ja se, miten sijoittuvat pienet luvut 1, 2, 3 ja 4 ruutuihin C1, D1, C3 ja D3. Pienen tutkimisen jälkeen oikea ratkaisu A B C D E 1 24 8 4 2 22 60 2 19 25 20 11 13 88 3 5 21 3 1 10 40 4 9 18 14 6 23 70 5 7 12 15 16 17 67 64 84 56 36 85 löytyy helposti. ...................................... * * * SURVO-pelissä saattaa siis olla enemmänkin ideaa kuin etukäteen otaksuin. SURVO-pelejä on helppo laatia Survon matriisitulkin avulla. Esim. tuo 5 x 5 -peli syntyi seuraavasti: ......................................................... FILE CREATE SUMMAT,10,2 FIELDS: 1 N 2 X numerot 1,2,3,... 2 N 8 Y satunnaislukuja X-lukujen sekoitukseen END FILE INIT SUMMAT,25 VAR X=ORDER TO SUMMAT VAR Y=rand(2006) TO SUMMAT m=5 n=5 FILE SORT SUMMAT BY Y TO SUMMAT2 / X-arvot satunnaiseen järjestykseen MAT SAVE DATA SUMMAT2 TO A / VARS=X Muunto 25 alkion vektoriksi MAT A=VEC(A,m) / Muunto 5x5-matriisiksi MAT A2=ZER(m+1,n+1) / Tähän kootaan alkiot ja summat. MAT A2(1,1)=A MAT S=SUM(A) MAT A2(m+1,1)=S MAT S=SUM(A')' MAT A2(1,n+1)=S MAT S=SUM(S) MAT A2(m+1,n+1)=S MAT A=A2 MAT S=ZER(m,n) MAT A(1,1)=S / A-matriisin alkioiden nollaaminen, summat jäävät MAT NAME A AS A Valittujen alkioiden kopiointi ratkaisumatriisista A2: MAT A(1,1)=A2(1,1) MAT A(2,1)=A2(2,1) Osan alkioista valitsin suoraan ja MAT A(2,4)=A2(2,4) loput niin, että ratkaisuohjelma, MAT A(2,5)=A2(2,5) jota en vielä tässä yhteydessä MAT A(3,2)=A2(3,2) esittele, antaa vain yhden MAT A(4,3)=A2(4,3) mahdollisen ratkaisun. MAT A(4,4)=A2(4,4) MAT A(5,2)=A2(5,2) MAT A(5,5)=A2(5,5) MAT NAME A AS A Tehtävän asettelu on valmis: LOADM A,(2),CUR+1 A 1 2 3 4 5 Sum 1 24 0 0 0 0 60 2 19 0 0 11 13 88 3 0 21 0 0 0 40 4 0 0 14 6 0 70 5 0 12 0 0 17 67 Sum 64 84 56 36 85 325 ......................................................... Tulen antamaan lähipäivinä lisää näitä tehtäviä. Lähettäkää minulle omia SURVO-pelejänne ja katsotaan, pystynkö niitä ratkaisemaan (ohjelmallani). -Seppo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!