#1855
Heap
Se consideră o colecție de numere naturale, inițial vidă. Asupra ei se fac două tipuri de operații:
1 x
– valoarea x
se adaugă în colecție;2
– cea mai mare valoare din colecție se afișează, apoi se elimină din colecție.Dându-se un șir de m
operații, să se afișeze în ordine rezultatele operațiilor de tip 2
.
Problema | Heap | Operații I/O |
heap.in /heap.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #9700817 | Utilizator | |
Fișier | heap.cpp | Dimensiune | 1.83 KB |
Data încărcării | 23 Mai 2018, 15:34 | Scor / rezultat | Eroare de compilare |
heap.cpp: In function 'Heap* createHeap(int)': heap.cpp:17:34: error: invalid conversion from 'void*' to 'Heap*' [-fpermissive] Heap *h = malloc(sizeof(Heap)); ^ heap.cpp:20:40: error: invalid conversion from 'void*' to 'Node*' [-fpermissive] h->a = calloc(maxlen , sizeof(Node)); ^ heap.cpp: In function 'void add(Node, Heap*)': heap.cpp:28:14: error: 'up' was not declared in this scope up(h, pos); ^ heap.cpp: In function 'Node extract(Heap*)': heap.cpp:35:14: error: 'down' was not declared in this scope down(h, 1); ^ heap.cpp: In function 'void down(Heap*, int)': heap.cpp:48:38: error: 'swap' was not declared in this scope swap(h->a+pos, h->a+2*pos); ^ heap.cpp:54:41: error: 'swap' was not declared in this scope swap(h->a+pos, h->a+2*pos+1); ^ heap.cpp: In function 'void up(Heap*, int)': heap.cpp:65:34: error: 'swap' was not declared in this scope swap(h->a+pos, h->a+pos/2); ^ heap.cpp: In function 'int main()': heap.cpp:83:31: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fpin, "%d", &instr); ^ heap.cpp:86:33: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fpin, "%d", &com); ^ heap.cpp:88:33: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fpin, "%d", &nr); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Heap face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.