» »

Naloga z vrvjo

Naloga z vrvjo

nokaut240 ::

 vrv

vrv



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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#] Graham scan - problem kolinearnosti

Oddelek: Programiranje
71594 (1478) AnriK
»

Algoritem: Se da ločiti dve množici točk s premico v O(n)?

Oddelek: Programiranje
61359 (1125) Rokm
»

[C++] std::sort problem

Oddelek: Programiranje
8963 (963) nejck
»

[C/C++] Konveksna lupina - brute force

Oddelek: Programiranje
71905 (1779) WarpedGone
»

Program v c++

Oddelek: Programiranje
192027 (1696) Bela01

Več podobnih tem