Responsabili: Roxana Soare, Teodora Șerbănescu
Autori iniţiali: Octavian Grigorescu, Florin Pop
Termen de predare:
Deadline Soft: 17 decembrie 2017, ora 23:55
Deadline Hard: 7 ianuarie 2018, ora 23:55
În perioada vacanţei de iarnă nu se vor aplica depunctări. Crăciun fericit!
Moș Crăciun este personajul cel mai iubit și așteptat în perioada sărbătorilor de iarnă. El primește cea mai mare atenție din partea copiilor și a părinților deopotrivă. Se zvonește că respectă toate dorințele copiilor, îi ajută pe cei obraznici să devină ascultători și călătorește în toată lumea într-o singură noapte. Pare imposibil ca moșul să le facă singur pe toate, însa nu este singur.
Peste mai puțin de doua săptămâni are loc cea mai frumoasă sărbătoare din an, Crăciunul. Cu această ocazie Moș Crăciun este foarte ocupat cu pregătirea darurilor alături de spiridușii lui. El trebuie să străbată Laponia pentru a aduna cadourile create de spiriduși și să realizeze o ierarhie a lor. Cum timpul este scurt, iar Pământul este foarte mare, Alabaster Snowball, spiridușul administrator a apelat la studenții de anul I, dornici de programare, de la Facultatea de Automatică și Calculatoare din Universitatea POLITEHNICA București, pentru a îl ajuta pe Moș Crăciun.
Laponia este reprezentată ca o matrice de zone (regiuni) de dimensiune N * M unde se află câte o fabrică și spiridușii ce construiesc jucării pentru toți copiii. Fiecare regiune conține:
Sania lui Moș Crăciun se poate deplasa astfel:
Programul vostru va trebui să ghideze sania magică dupa indicațiile din zona precedentă și să adune câte un cadou din fiecare regiune cât timp nu s-a terminat numărul de pași citit inițial de la stdin. Aceasta va avea un punct de intrare (de start) în zona încântătoare a jucăriilor definită prin coordonate (linie, coloană). Dacă nu mai sunt cadouri pregătite într-o anumită regiune, Moș Craciun nu ia nimic, doar servește o ciocolată caldă și un fursec alături de spiriduși. La final trebuie afișată o ierarhie a darurilor adunate dupa exemplul de mai jos.
TOO MUCH SNOW !
input.txt: 2 3 // N si M 0 1 // Punctul de start 6 // Numărul de pași BERLIN CAR 1 U // Structura regiunii Laponia BERLIN CAR 1 R BUCHAREST JACKET 2 D NEW_YORK DOLL 7 U BERLIN ROBOT 5 L BUCHAREST BALL 4 L output.txt: TOO MUCH SNOW ! 5 // Numărul de pași relizați de Moș Crăciun(în cazul de față sania s-a blocat în zăpadă) 6 // Numărul total de cadouri adunate de Moș Crăciun BERLIN: // Orașul destinație 2 CAR // Număr de cadouri, tip cadou 1 ROBOT BUCHAREST: 1 BALL 1 JACKET NEW_YORK: 1 DOLL
nume oras:
<space><space>număr cadouri<space>tip cadou
<space><space>număr cadouri<space>tip cadou
…
Numele de orașe formate din două cuvinte vor fi separate prin ' _ ', nu cu spațiu → LOS_ANGELES
Mențiunilor
( specificați în README ca l-ați abordat ).Arhiva trebuie să conțină
README
în care să se descrie pe scurt implementarea temei.Makefile
care conține reguli de build
și clean
. Regula build
va compila programul într-un executabil cu numele christmas
. Regula clean
va șterge executabilul și eventual toate binarele intermediare (fișiere obiect) generate de voi.
Testarea temei se va face folosind un script de evaluare automată.