Osaisiko joku auttaa putkapostissa

Anonyymi

8

166

    Vastaukset 8

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Tarvitsee laskea vain toisen saama osa (vai saako vai laittaako ne niitä palikoita ihan sama).

      Aloituspisteitä yhdistävän janan keskinormaali tai mahdollisesti kaksi sellaista jakaa lipun haluttuihin osiin. Käy se suora läpi palikka kerrallaan. Laske siinä mennessä alapuolelle jäävien palikoiden lukumäärät (sin valk) (sehän saadaan: jos ollaan ristin keskikohdalla, niin kokonaan sinistä, muuten jos ollaan ristin alapuolella, niin pelkkää valkoista, jos taas ylä, niin koko leveydeltä ja jos sinisellä, niin korkeus- mistä risti pystysuunnassa alkaa tulee valkoisia ja sinisiä sitten loput sen sarakkeen osalta).

      Se lisäsääntöhän siinä vähän sekoittaa, että jos molempien pitää laittaa, niin toinen voittaa sinisellä ja toinen valkealla, mutta sellaista ei tapahdu kuin yhden keskinormaalin tapauksessa eli jos manhattanin metriikassa nämä kaksi alkuräjähdystä ovat parittoman päässä toisistaan. Jos taas parillisen, niin silloin riittää käydä alempi läpi ilman mitään erikoissääntöjä sillä vain toisen pelaajan lukumääräthän riittää laskea sillä toisen saadaan koko lipun palikoista jotka taas on helppo laskea.

    • Entäpä yleistys useammalle pelaajalle?!? Olisko Voronoi-tessalaatio mitä?

    • Ei se noin menekään kuin sanoin! Ne on pysty-, vaaka- ja diagonaalisuorien yhdistelmiä, ne erottavat käyrät. Eivätkä nekään koko totuutta kerro, vaan se erikoisehto kumpi voittaa sinisellä/valkoisella tekee siitä vähän sellaisen että kumpi lähtee missäkin alueessa liidaamaan, niinkuin jänis voittaa maalla mutta krototiili vedessä jne, jne...

      • Anonyymi

        Niin. Mietin aluksi brute forcea, mutta kun koetin, niin palvelin hyväksynyt ratkaisuani kaikkiin tapauksiin. Mietin myös, että voiko tuollaisia erottavien käyrien rajaaminen alueiden ruutujen määrää laskea Pickin kaavalla.


      • Anonyymi kirjoitti:

        Niin. Mietin aluksi brute forcea, mutta kun koetin, niin palvelin hyväksynyt ratkaisuani kaikkiin tapauksiin. Mietin myös, että voiko tuollaisia erottavien käyrien rajaaminen alueiden ruutujen määrää laskea Pickin kaavalla.

        Jos sen erottavan käyrän saa selville, niin eikös se sitten ole helppo laskea kuinka paljon jää sen alapuolelle kummankin laisia (vai ajattelenko taas liian hätiköidysti?)?

        Olisiko tästä apua säännönmukaisuuksien huomaamisessa: https://repl.it/@minkkilaukku2/Alligaattori-ja-Bambi

        Käyttöohje: valitse aloituspaikka A tai B hiirellä ja klikkaa sen jälkeen uutta paikkaa. Niitä voi myöskin raahata. Raahatessa ratkaisu lasketaan sitä mukaa kun aloituspaikan sijainti muuttuu, muussa tapauksessa klikkaa solve-nappia. Siinä voi myös valita näytetäänkö pienet numerot, jotka kertovat millä kierroksella kukin palikka on laitettu (sehän on Manhattan-etäisyys alkupisteestä eli toiselta nimeltään taksimiehen metriikka).

        Tein myös tällaisen Python-version: https://repl.it/@minkkilaukku2/Antilooppi-ja-Boa
        Ja brute-force on siis tämäkin. Esimerkki ainakin menisi oikein ja ekoille saan tällaisia:
        [36, 270, 268, 42, 212]
        [342, 8094, 21182, 20064, 22138]
        [648, 17838, 40032, 83250, 115488]
        ...
        Saatko samat?

        Jotenkin se "erottava käyrä" tulee siitä että ollaan Manhattin-etäisyydessä yhtä kaukana kummastakin pisteestä ja jos siinä rajalla ollaan sinisellä, niin sitten se kuuluu kummalle nyt kuulukaan siinä tapauksessa ja muuten toiselle. Tästä saisi lineearisessa ajassa toimivan ratkaisun, jos sen onnistuisi jotenkin parametrisoimaan tuon käyrän.

        Sellainen vaikuttaisi ainakin selvälle, että pisteen "taakse jäävä" suorakulmio kuuluu kokonaan sille itselleen, kun eihän toinen sinne voi mitenkään päästä sotkemaan. Mutta tämäkään ei kyllä auta hirveästi, jos pisteet eivät ole lähekkäin. Ja jos ne nyt ei ihan nurkassa ole, niin O(n^2):nahan se säilyy joka tapauksessa.


      • minkkilaukku kirjoitti:

        Jos sen erottavan käyrän saa selville, niin eikös se sitten ole helppo laskea kuinka paljon jää sen alapuolelle kummankin laisia (vai ajattelenko taas liian hätiköidysti?)?

        Olisiko tästä apua säännönmukaisuuksien huomaamisessa: https://repl.it/@minkkilaukku2/Alligaattori-ja-Bambi

        Käyttöohje: valitse aloituspaikka A tai B hiirellä ja klikkaa sen jälkeen uutta paikkaa. Niitä voi myöskin raahata. Raahatessa ratkaisu lasketaan sitä mukaa kun aloituspaikan sijainti muuttuu, muussa tapauksessa klikkaa solve-nappia. Siinä voi myös valita näytetäänkö pienet numerot, jotka kertovat millä kierroksella kukin palikka on laitettu (sehän on Manhattan-etäisyys alkupisteestä eli toiselta nimeltään taksimiehen metriikka).

        Tein myös tällaisen Python-version: https://repl.it/@minkkilaukku2/Antilooppi-ja-Boa
        Ja brute-force on siis tämäkin. Esimerkki ainakin menisi oikein ja ekoille saan tällaisia:
        [36, 270, 268, 42, 212]
        [342, 8094, 21182, 20064, 22138]
        [648, 17838, 40032, 83250, 115488]
        ...
        Saatko samat?

        Jotenkin se "erottava käyrä" tulee siitä että ollaan Manhattin-etäisyydessä yhtä kaukana kummastakin pisteestä ja jos siinä rajalla ollaan sinisellä, niin sitten se kuuluu kummalle nyt kuulukaan siinä tapauksessa ja muuten toiselle. Tästä saisi lineearisessa ajassa toimivan ratkaisun, jos sen onnistuisi jotenkin parametrisoimaan tuon käyrän.

        Sellainen vaikuttaisi ainakin selvälle, että pisteen "taakse jäävä" suorakulmio kuuluu kokonaan sille itselleen, kun eihän toinen sinne voi mitenkään päästä sotkemaan. Mutta tämäkään ei kyllä auta hirveästi, jos pisteet eivät ole lähekkäin. Ja jos ne nyt ei ihan nurkassa ole, niin O(n^2):nahan se säilyy joka tapauksessa.

        Ai niin joo, sullahan oli tuo koodi tuossa viestissä. Vähän eri tulos näyttäs tulevan sinisten kohdalla:

        (342, 7996, 21182, 20162, 22138)
        vs.
        [342, 8094, 21182, 20064, 22138]

        Hmmmm.. näyttääkös se ohjelmointiputka mitkä on oikein?


    • Sun koodissa jos muuttaa sen etäisyystestin hyväksymään myös yhtäsuuruuden, siinä tapauksessa että pala on sininen, niin sitten se antaa samoja tuloksia. Ja se on myös nopeampi kuin minun koodi, joka taitaa olla O(n^3) jopa :D!

      Refaktoroin myös vähän sitä tämmöiseksi: https://repl.it/@minkkilaukku2/Siniristilippu2

      Se laskee kaikki muutamassa minuutissa ainakin omalla koneellani meni. Mitenköhän nopea olisi PyPy ja tehokkaampi kone? Nopeampia ratkaisuja vois vielä miettiä. Eikös se pitäs periaatteessa olla vaan joku ihan kaava millä sen voi laskea...

      • Tähän "jos etäisyys pienempi, tai jos yhtä suuri ja sinisellä" -algoritmiin taitaa olla yksi erikoistapaus, jossa se ei toimi, nimittäin jos aloituspisteet ovat samalla diagonaalilla, tässä esimerkkikuva:

        https://aijaa.com/yv9779

        Sellaisia tapauksia ei tainnut noissa testeissä olla sillä läpi ne menee putkassa, testasin :D


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

    Luetuimmat keskustelut

    1. Ampuminen kylpylässä

      Onko vornasen timbe käynyt hiukan kylpemässä vai mikä tämä ampumatapaus on kylpylässä? Tuntuu aika villi meno olevan naa
      Naantali
      77
      1816
    2. Kemijärvellä vesionnettomuus

      Pitkänsillan ja taiteilijanniemen välillä nähty henkilön painuvan veden alle. Mitä on tapahtunut? Onko vesihiisi taas as
      Kemijärvi
      34
      1192
    3. Hei, voitko kuunnella

      Voisitko auttaa minua selvittämään asioita? En halua ajaa sinua hulluuteen kanssani, en sitoa sinua, en esittää vaatimu
      Ikävä
      134
      954
    4. Joku porukka lähtenyt täältä

      Ihmeen hiljainen on palsta nyt. Yleensä tänne tulvii aloituksia yms, mutta nyt on kyllä erikoisen hiljaista.
      Ikävä
      200
      869
    5. Miten yrität

      Vielä saada kaivattusi?
      Ikävä
      64
      704
    6. Mitä kirjainta kaipaat?

      L.
      Ikävä
      77
      692
    7. Olipa yllätys

      Kuten hyvin moni tiesi/arvasi että valetta alusta loppuun toi *olemme ystäviä* satu. Instassaan käsi kädessä kuva kertoo
      Kotimaiset julkkisjuorut
      210
      664
    8. On todella ikävää

      Todella ikävää, että asiat ovat menneet tällaisiksi. Tämä ei ollut missään vaiheessa tarkoitukseni. Olen tehnyt virheit
      Ikävä
      79
      618
    9. Tuletko tänään

      Jos soitan? Niin... tuletko?🖤
      Ikävä
      54
      608
    10. Kiinni jäit

      Ei olisi uskonut sinusta
      Ikävä
      35
      561
    11. Muutto auto hakee sut tänään!

      Tein sulle oman huoneen! mieheltä naiselle
      Ikävä
      63
      561
    12. Se kun olit pitkästä aikaa silmieni edessä

      Oli kyllä sykähdyttävää. Tiedätkö, mikä laittaa minut ikävöimään sinua? Kun palautan mieleeni valtavan ihanan olemuksen,
      Ikävä
      32
      538
    13. Ottanet yhteyttä

      Facebookissa,jos on jotain asiaa.Miehelle! T.M-nainen.
      Ikävä
      55
      517
    14. Minä vuonna olet syntynyt?

      😊
      Ikävä
      36
      504
    15. Oletteko koskaan torjuneet kaivattuanne?

      Minä olen, kun en silloin tajunnut vielä ihastuneeni. Yritin paikata tapahtunutta, mutta ei onnistunut enää.
      Ikävä
      25
      457
    16. Kai sä mies ymmärrät..

      ..ettet jättänyt vaihtoahtoa. Tottakai toivon vielä, että pystyisit toimimaan niin että asiat korjaantuisivat. Vahvast
      Ikävä
      28
      442
    17. En tiedä mitä sanoa

      Siksi en vastannut😔
      Ikävä
      33
      423
    18. Jos kaivattusi olisi

      Vieressäsi niin mitä tekisit?
      Ikävä
      40
      417
    19. Päivän galluppi

      Minkälainen ehkäisy sinkkupalstalaisilla käytössä?
      Sinkut
      82
      408
    20. Hämmentävä hetki: TTK:sta pudonnut Johanna Puhakka lataa pettyneenä: "Sitä ei voi kieltää"

      Johanna Puhakka ja Jurijs Jurza Trosenko tippuivat Tanssii Tähtien Kanssa -kisasta. Suositussa viihdeohjelmassa nähtiin
      Tanssii tähtien kanssa
      12
      398
    Aihe