Programozó versenyek

Magas szintű programozási nyelvek 1, egyéni verseny, 2016. április 10.

2016. április 10. 10:00 – 2016. április 10. 15:00

Az ugráló Mario

Mario az utolsó kastélyban van. Már csak néhány falon kell átugrania, majd Koopa Termében le kell győznie a szörnyet, hogy megmentse a hercegnőt. Ebben a feladatban minket most csak a „falon való átugrás” rész érdekel. Adott N fal magassága balról jobbra haladva. Mario jelenleg az első falon áll. Egyesével kell a szomszédos falakra ugrania, míg el nem éri az utolsót. Ez azt jelenti, hogy N – 1 ugrást kell végrehajtania. Magas ugrásnak tekintjük azokat az ugrásokat, amelyek során Mariónak magasabb falra kell ugrania, alacsony ugrásnak pedig azokat, amikor alacsonyabbra. Meg tudnád határozni a Mario előtt álló magas és alacsony ugrások számát?

A bemenet specifikációja

A bemenet első sora egy T egész számot tartalmaz, amely a tesztesetek számát jelöli (T < 30). Minden teszteset egy N egész számmal, a falak számával kezdődik (0 < N < 50). A következő sor az N fal magasságát írja le balról jobbra haladva. Minden magasságérték egy pozitív egész szám, amely nem haladja meg a 10-et.

A kimenet specifikációja

Minden tesztesetre a kimenetre kell írni a teszteset sorszámát, majd két egész számot, amelyek rendre a magas és az alacsony ugrások számát adják meg. Lásd a példa kimenetet a pontos formátumért!

Példa bemenet

  1. 3
  2. 8
  3. 1 4 2 2 3 5 3 4
  4. 1
  5. 9
  6. 5
  7. 1 2 3 4 5
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Case 1: 4 2
  2. Case 2: 0 0
  3. Case 3: 4 0
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.