Programozó versenyek

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

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

Energiaválság

A téli új-zélandi energiaválság alatt (amelyet a kevés eső és ezáltal a duzzasztógátaknál tapasztalható alacsony vízállás okozott) kialakítottak egy válságkezelési módszert: szisztematikusan, teljesen fair módon sorra kikapcsolják az áramszolgáltatást az ország különböző területein. Az országot felosztották N régióra (Auckland lett az 1-es számú, Wellington a 13-as számú régió). A módszer szerint szükség esetén „véletlenszerűen” választanak egy m számot, majd először az 1-es régióban kapcsolják ki az áramot (amely nyilván a legigazságosabb kiindulópont), utána pedig minden m-edik régióban, az N után újra 1-ről folytatva a számlálást, kihagyva a már kikapcsolt régiókat. Ha például N = 17 és m = 5, az áramszolgáltatást a következő sorrendben kapcsolnák ki az egyes régiókban: 1, 6, 11, 16, 5, 12, 2, 9, 17, 10, 4, 15, 14, 3, 8, 13, 7.

A probléma az, hogy nyilvánvalóan a legigazságosabb, ha Wellingtont kapcsolják ki utoljára (elvégre ott van az áramszolgáltató központja), tehát adott N esetén az m „véletlen” számot nagyon gondosan kell megválasztani, hogy a 13-as számú régió legyen az, amelyik utoljára kerül kiválasztásra.

Írj egy programot, amely beolvassa a régiók számát, majd meghatározza azt a legkisebb m számot, amely biztosítja, hogy Wellington (a 13-as számú régió) még akkor is működhet, amikor az ország többi része már elsötétült!

A bemenet specifikációja

A bemenet sorok sorozatából áll. Minden sorban egy-egy régiószám (N) szerepel, ahol 13 ≤ N < 100. A bemenetet egy olyan sor zárja, amely egyetlen 0-t tartalmaz.

A kimenet specifikációja

A bemenet minden sorára egy sort kell a kimenetre írni, amely a fenti sémának megfelelő m számot tartalmazza.

Példa bemenet

  1. 17
  2. 0
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 7
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.