Forum » Šola » Naloga z vrvjo
Naloga z vrvjo
nokaut240 ::
Vrv je na hlode pripeta z žeblji. Jaz moram ugotoviti, na katere hlode se bo vrv pripela (tako kot na sliki). Iz levega konca mi je uspelo priti do sredine (če je višina drugega hloda - višina prvega > višina tretjega - višina drugega, potem je drugi hlod pravi. In potem gremo po istem principu naprej - če je višina tretjega hloda - višina drugega > višina četrtega - višina tretjega, potem je tretji pravi. itd). Kako pa bi šel naprej od tistega najvišjega proti zadnjemu na desni, pa nimam pojma. Sem probaval že ogromno for, pa mi ne rata. Prosim če ima kdo pametno idejo, naj jo napiše.
AndrejS ::
Poiščeš najvišjega in pri njem začneš , nato pa iščeš ločeno na levo in desno drugega najvišjega.
urosp ::
V bistvu iščeš konveksno lupino. Vrhe debel si lahko predstavljaš kot posamezne točke ali pa recimo kot žebljičke v risalni tabli. Če čez te žebljičke napneš elastiko, tako da bodo znotraj nje zajeti vsi žebljički, boš dobil konveksno lupino. Žebljički, okoli katerih bo napeta elastika so člani konveksne lupine oz. v tvojem primeru bodo to debla, preko katerih gre trak. Ta debla (točke, žebljičke), ki so člani konveksne lupine lahko najdeš z večimi algoritmi. Nekaj, ki se jih jaz spomin so npr. metoda s preiskovalno premico, inkrementalna metoda, Jarvishev obhod in še nekaj bi se jih našlo.
ta-mau ::
Tako kot je omenil urosp je eden izmed njih tudi grahamov algoritem. V splošnem pregleduješ zaporedje treh točk in preverjaš ali te tri točke tvorijo zasuk v desno ali v levo. Sprehod se začne v najbolj levi točki. Ko naletiš na levi zasuk zadnjo pregledano točko izbrišeš in sestaviš novo trojico. Če te zanima delovanje algortima si poglej kak aplet na to temo..
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C#] Graham scan - problem kolinearnostiOddelek: Programiranje | 1594 (1478) | AnriK |
» | Algoritem: Se da ločiti dve množici točk s premico v O(n)?Oddelek: Programiranje | 1359 (1125) | Rokm |
» | [C++] std::sort problemOddelek: Programiranje | 963 (963) | nejck |
» | [C/C++] Konveksna lupina - brute forceOddelek: Programiranje | 1905 (1779) | WarpedGone |
» | Program v c++Oddelek: Programiranje | 2027 (1696) | Bela01 |