Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Kmalloc | Monitorul de evaluare | Diferente pentru problema/kmalloc intre reviziile 10 si 11
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="kmalloc") ==
“Yellow sun, its evil twin, In the black, the winds deliver him"
_“Yellow sun, its evil twin,_
_In the black, the winds deliver him"_
Umanitatea se află în pragul colapsului nuclear. Dr. Merkwürdigliebe proiectează un sistem de operare pentru ghidarea rachetelor. Supravieţuirea umanităţii depinde de algoritmul de alocare a memoriei, implementat de funcţia kmalloc. Această funcţie primeşte un singur parametru size, număr natural, identifică o zonă continuă liberă de memorie de mărime 2^size^ şi returnează adresa de început a acesteia. După acest moment, zona respectivă de memorie devine ocupată. Sistemul de operare are la dispoziţie $N$ octeţi numerotaţi de la $0$ la $N-1$. Se dau $P$ intervale continue de memorie, care sunt rezervate deja şi nu pot fi folosite pentru alocare. Funcţia kmalloc va fi apelată până la întâlnirea lui $-1$.
Umanitatea se află în pragul colapsului nuclear. Dr. Merkwürdigliebe proiectează un sistem de operare pentru ghidarea rachetelor. Supravieţuirea umanităţii depinde de algoritmul de alocare a memoriei, implementat de funcţia kmalloc. Această funcţie primeşte un singur parametru size, număr natural, identifică o zonă continuă liberă de memorie de mărime $2^size^$ şi returnează adresa de început a acesteia. După acest moment, zona respectivă de memorie devine ocupată. Sistemul de operare are la dispoziţie $N$ octeţi numerotaţi de la $0$ la $N-1$. Se dau $P$ intervale continue de memorie, care sunt rezervate deja şi nu pot fi folosite pentru alocare. Funcţia kmalloc va fi apelată până la întâlnirea lui $-1$.
Programul pe care îl veţi scrie pentru a salva umanitatea va furniza o implementare a funcţiei kmalloc şi nu va citi şi nu va scrie din/în niciun fişier. În schimb, programul vostru va interacţiona cu un program al comisiei care ruleazǎ în paralel.
• Programatorilor în $C$ li se recomandă să apeleze $"fflush(stdout);"$ după ce au terminat de scris o linie completă la ieşire.
• Programatorilor în $C++$ care folosesc streamuri li se recomandă $"cout.flush();"$ după ce au terminat de scris o linie completă la ieşire.
• Programatorilor în $Pascal$ li se recomandă să apeleze $"flush(output);"$ după ce au terminat de scris o linie completă la ieşire.
Recomandăm ca programatorii $C/C++$ care citesc datele cu funcţia $scanf()$, să nu specifice marcajul de sfârşit de linie $'\n'$ în şirul care descrie formatul de citire. De exemplu, citirea valorilor variabilelor $N$ şi $P$ se va realiza astfel: scanf("%lld %d", &N, &P);
Recomandăm ca programatorii $C/C++$ care citesc datele cu funcţia $scanf()$, să nu specifice marcajul de sfârşit de linie $'\n'$ în şirul care descrie formatul de citire. De exemplu, citirea valorilor variabilelor $N$ şi $P$ se va realiza astfel: $scanf("%lld %d", &N, &P)$;
h2. Restricţii
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.