Ohjelmointihaaste: ylös, alas kävelyt, joille korkeusvaihtelu on korkeintaan r

Anonyymi

Olkoot r ja n positiivisia kokonaislukuja. Tehtävänä on laskea tietynlaiset n:n askeleen kävelyt. Mahdolliset askeleet ovat ylös ( 1) ja alas (-1). Kävelyn w täytyy toteuttaa ehto maxH(w) - minH(w) <= r. Tässä maxH(w) tarkoittaa korkeutta, jolla kävely korkeimmillaan käy ja minH(w) korkeutta, jolla kävely matalimmillaan käy. Voidaan olettaa, että kävely lähtee nollasta. Formaalisti tämä voidaan ilmaista näin: Kysytään seuraavan joukon kokoa

{ w on kielen {-1, 1}* sana : |w|=n, max_j=1...n {sum(w[:j])} - min_j=1...n {sum(w[:j])} >= r }

Esimerkki, jossa r = 2 ja n = 5:
Sana w = ↓ ↑ ↑ ↓ ↑, kelpaa koska sen korkeus menee -1, 0, 1, 0, 1 ja tämän vaihteluväli on 1 - (-1) = 2. Mutta w = ↓ ↑ ↑ ↑ ↓ ei kelpaa, koska se käy korkeuksilla -1, 0, 1, 2, 1, jolloin väli on 2 - (-1) = 3 > 2.

Tarkoitus on siis tehdä algoritmi, joka laskee tuon lukumäärän, kun parametrit r ja n on annettu. Tässä testitapauksia (muodossa (r, n) ), joille algoritmin täytyisi ainakin toimia:

testCases = [
(1, 3),
(2, 3),
(2, 4),
(2, 7),
(3, 5),
(3, 12),
(4, 15),
(5, 16),
(2, 20),
(2, 109),
(3, 67),
(3, 174),
(11, 23),
(12, 43),
(15, 38),
(21, 45),
(3, 923),
(2, 242398),
(4, 923847),
(2, 12345678910),
]

Lisäksi, koska isoissa tapauksissa luvuista tulee hyvin suuria, niin ilmoitettakoon vastaukset (ja laskennan saa tehdä) modulo 7347249713

MOD = 7347249713

4

144

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Perus tietorakennealgoritmi. Kaikki kävelyt löytyvät n-syvästä binääripuusta, lisää vain läpikäyntialgoritmiin korkeuserolaskin jolloin haara hylätään jos r ylittyy. Samalla lasket moneenko latvasolmuun päästiin.

      • Anonyymi

        Paljonko saat tapaukselle r=7, n=2020?


      • Anonyymi

        Näin se Windows 10 korruptoi kiintolevyn, bioksen halkaisee, prossut se hitsaa jne.


    • Anonyymi

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

    Luetuimmat keskustelut

    1. 326
      4801
    2. Kun katsoin häntä

      Niin ajattelin että hän on niin rakas ❤️
      Ikävä
      16
      2266
    3. Mitä sanoisit kolmella sanalla

      kaivatullesi ja tunteidesi kohteelle? 🙎💝💝
      Ikävä
      194
      2109
    4. Haluisin niin

      Selvittää sun kanssa asiat. Kumpa uskaltaisin. Haluatko sinä?
      Ikävä
      107
      1486
    5. Miksi Pekkaa ei hyväksytä maailmalla julkisiin virkoihin?

      On mennyt jo monta hommaa ohitse.
      80 plus
      81
      1407
    6. Minkälainen koti

      kaivatullasi on?
      Ikävä
      74
      1002
    7. Nyt mielipiteitä kehiin?

      Niin ,onko arvon kuhmolaiset teidän mielestänne kaupungin hommissa turhia työpaikkoja/työntekijöitä? Mielipiteitä tu
      Kuhmo
      57
      987
    8. IS: Paljastus - Tästä syystä Marika jätti Diilin kesken -Tilittää: "Jäi vähän karvas maku, koska..."

      Diilissä lähti yllättäen yksi kisaaja. Voi harmi, leikki loppui liian varhain… Diilissä Jaajo Linnonmaa etsii vetäjää Ka
      Tv-sarjat
      2
      939
    9. Martina miehensä kanssa Malediiveilla.

      Miksi täällä puhutaan erosta? Lensivät Dubaista Malediiveilĺe.
      Kotimaiset julkkisjuorut
      119
      844
    10. Ei lumous lopu koskaan

      Kerran kun tietyt sielut yhdistyvät kunnolla, ei irti pääse koskaan. Vaikka kuinka etsit muista ihmisistä sitä jotain tu
      Ikävä
      59
      776
    Aihe