Programozó versenyek

Magas szintű programozási nyelvek 1, gyakorló feladatsor, 2015. április 24.

2015. április 24. 10:00 – 2015. április 24. 10:00

Nlogonia felosztása

A Nlogonia néven ismert területen élő négy nemzet közötti több évszázadnyi ellenségeskedés és csatározás, valamint éveken át tartó tárgyalások után, amelyekben az érdekelt felek diplomatái, politikusai és fegyveres erői is részt vettek, az ENSZ, a NATO, a G7 és az SBC közbenjárásával végre sikerült véget vetni a vitáknak, és felosztották a területet négy független térségre.

Megegyeztek abban, hogy az országot egy adott pont, az osztópont segítségével (amelynek a koordinátáit a tárgyalásokon határozták meg) osztják fel a következő módon: két vonalat rajzolnak a térképre, amelyek keresztülhaladnak az osztóponton, az egyiket észak-déli, a másikat kelet-nyugati irányban, s így négy új országra osztják a területet. Az északnyugati kvadránsból kiindulva, az óramutató járásával megegyező irányban haladva az új országokat rendre az Északnyugat-Nlogonia, az Északkelet-Nlogonia, a Délkelet-Nlogonia, illetve a Délnyugat-Nlogonia névvel látták el.

Az ENSZ elrendelte, hogy legyen egy oldal az interneten, ahol a lakosok ellenőrizni tudják, hogy melyik országban van az otthonuk. Téged béreltek fel, hogy segíts implementálni ezt a rendszert.

A bemenet specifikációja

A bemenet több tesztesetből áll. A tesztesetek első sora egy K egész számot tartalmaz, amely az elvégzendő lekérdezések számát adja meg (0 < K ≤ 103). A tesztesetek második sora két egész számot tartalmaz, N-et és M-et, amelyek az osztópont koordinátáit reprezentálják (–104 < NM < 104). A következő K sor mindegyike két egész számból áll, X-ből és Y-ból, amelyek egy lakóhely koordinátáit jelölik (–104 ≤ XY ≤ 104).

A bemenet végét egy olyan sor jelzi, amelyben egyetlen nulla szám áll.

A kimenet specifikációja

Minden tesztesetre a programnak egy sort kell a kimenetre írnia, amely a következőt tartalmazza:

  • a „divisa” (határ portugálul) szót, ha a lakóhely az egyik határvonalon van (az észak-délin vagy a kelet-nyugatin);
  • NO”-t (északnyugat rövidítését portugálul), ha a lakóhely Északnyugat-Nlogoniában van;
  • NE”-t (északkelet rövidítését portugálul), ha a lakóhely Északkelet-Nlogoniában van;
  • SE”-t (délkelet rövidítését portugálul), ha a lakóhely Délkelet-Nlogoniában van;
  • SO”-t (délnyugat rövidítését portugálul), ha a lakóhely Délnyugat-Nlogoniában van.

Példa bemenet

  1. 3
  2. 2 1
  3. 10 10
  4. -10 1
  5. 0 33
  6. 4
  7. -1000 -1000
  8. -1000 -1000
  9. 0 0
  10. -2000 -10000
  11. -999 -1001
  12. 0
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. NE
  2. divisa
  3. NO
  4. divisa
  5. NE
  6. SO
  7. SE
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.