Feladat: S.82 Korcsoport: - Nehézségi fok: -
Füzet: 2013/szeptember, 360. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Adott egy N×N-es sakktábla, és N (N1000000) darab bástya. El szeretnénk helyezni őket a sakktáblán úgy, hogy semelyik kettő ne üsse egymást. Két bástya akkor és csak akkor üti egymást, ha egy oszlopban, vagy egy sorban vannak. Ez így nagyon egyszerű lenne, de vannak megkötéseink: az i. bástyát csak az (ai,bi) bal felső, és (ci,di) jobb alsó koordinátájú téglalapba helyezhetjük. Az a kérdés, hogy megoldható-e ez? Ha nem, írjuk ki, hogy NEM, ha megoldható, akkor adjunk is meg egy megoldást: minden bástya sor, illetve oszlopkoordinátáit írjuk ki külön sorba. A bástyák elhelyezését olyan sorrendben kell kiírni, amilyenben a téglalapok voltak, tehát az első sorba az első bástya koordinátái kerüljenek.
A program olvassa be a standard input első sorából N-et, majd a következő N sorból az ai, bi, ci, di szóközzel elválasztott egészeket, és írja a standard output első sorába a NEM szót, vagy pedig a bástyaelhelyezéseket.

 
Példa bemenet:    Példa kimenet:4    1 1    1 1 1 1    2 3    1 3 2 4    3 2    3 1 4 2    4 4  2 2 4 4  
 

Pontozás és korlátok: A programhoz mellékelt, a helyes megoldás elvét tömören, de érthetően leíró dokumentáció 1 pontot ér. A programra akkor kapható meg a további 9 pont, ha bármilyen hibátlan bemenetet képes megoldani az 1 mp futásidőkorláton belül. A megoldáshoz weboldalunkon találhatóak példa be- és kimenetek, amelyekkel érdemes letesztelni a programot.
Részpontszámok a következőkre kaphatóak:
‐ a program N12-re megoldást ad;
‐ minden téglalap 1×2-es, vagy 1×3-as;
‐ minden téglalap 1×2-es, vagy 2×2-es.
Beküldendő egy tömörített s82.zip állományban a program forráskódja (s82.pas, s82.cpp, ...) az .exe és más, a fordító által generált állományok nélkül, valamint a program rövid dokumentációja (s82.txt, s82.pdf, ...), amely a fentieken túl megadja, hogy a forrás mely fejlesztői környezetben fordítható.