Megoldás

Algoritmus

Ha sikerül végigvennünk az összes - lényegesen különböző - esetet, akkor már csak minimális fizikai ismeret kell a program elkészítéséhez.

Amire figyelni kell:
  • Lehet, hogy a w sebességkorlátozás nagyobb, mint v, az autó maximális sebessége. Ekkor vagy felgyorsulunk v-re, és azzal megyünk végig, vagy az is lehet, hogy nem is érjük el a maximális sebességet, és már célba értünk.
  • Lehet, hogy a sebességkorlátozást jelző tábla olyan közel van, hogy addig nem érjük el a w sebességet. Ekkor úgy számolhatunk, mint az előző esetben, gyakorlatilag nincs korlátozás.
  • Ha v > w és elérjük d km előtt a w sebességet, akkor érdemes úgy beosztani a tábla előtti utat, hogy a táblánál lassuljunk vissza w-re, és utána megint gyorsítsunk.
A számoláshoz a v( t ) = a * t és az s( t ) = / 2 *tv0 * t képleteket használhatjuk.

Kód

Schwarcz Tamás (java): kresz.java