This shows you the differences between two versions of the page.
sd-ca:teme:tema1 [2019/03/04 22:15] alexandru.stroie |
sd-ca:teme:tema1 [2019/04/06 19:22] (current) george.popescu0309 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | <hidden> | ||
====Tema1==== | ====Tema1==== | ||
Line 5: | Line 4: | ||
* [[mailto:andistroie@gmail.com | Alexandru Mihai Stroie]] | * [[mailto:andistroie@gmail.com | Alexandru Mihai Stroie]] | ||
* [[mailto:george.apopescu97@gmail.com | George Popescu]] | * [[mailto:george.apopescu97@gmail.com | George Popescu]] | ||
- | * [[mailto:@gmail.com | Tiberiu Lepadatu]] | ||
* Data publicării: 11.03.2019 | * Data publicării: 11.03.2019 | ||
- | * Deadline: 03.04.2019 | + | * Deadline: **05.04.2019 ora 23:55** |
+ | |||
+ | === Modificări și actualizări === | ||
+ | * **18 martie** | ||
+ | * modificare nume fisiere intrare/iesire in races.in/races.out | ||
+ | * update checker | ||
+ | |||
+ | <note warning>**Atenite!** O tema care nu compileaza va primi 0 puncte.</note> | ||
=== Obiective === | === Obiective === | ||
Line 53: | Line 58: | ||
</note> | </note> | ||
- | <note important>In cazul in care 2 concurenti au acelasi timp, vor fi departajati dupa id (cel cu id mai mic este in fata celui cu id mai mare).</note> | + | <note important>In cazul in care 2 concurenti au acelasi timp, vor fi departajati dupa pozitia ocupata in clasamentul anterior cursei actuale. |
+ | Clasamentul se va stabili dupa fiecare cursa, nu doar la operatii de print.</note> | ||
=== Operatii === | === Operatii === | ||
Line 66: | Line 72: | ||
* Creati un program care sa il ajute pe Piciorus sa isi urmareasca favoritii din campionatul descris mai sus. | * Creati un program care sa il ajute pe Piciorus sa isi urmareasca favoritii din campionatul descris mai sus. | ||
- | |||
=== Input === | === Input === | ||
Line 74: | Line 79: | ||
* Sirul “print”. | * Sirul “print”. | ||
* n numere naturale separate printr-un spatiu, reprezentand timpul unui concurent intr-o cursa. | * n numere naturale separate printr-un spatiu, reprezentand timpul unui concurent intr-o cursa. | ||
- | * Citirea se va face din fisierul race.in | + | * Citirea se va face din fisierul races.in |
<note tip>Se garanteaza ca vor fi fix m curse si fix k print-uri.</note> | <note tip>Se garanteaza ca vor fi fix m curse si fix k print-uri.</note> | ||
Line 82: | Line 87: | ||
* In fisierul de output se vor gasi n*(k + 1) linii (k clasamente, dupa fiecare clasament se va afisa o linie goala), fiecare linie continand 3 numere separate printr-un spatiu: ID-ul, Nr. de puncte acumulate de la inceputul campionatului si Diferenta de nivel din clasament fata de print-ul trecut. | * In fisierul de output se vor gasi n*(k + 1) linii (k clasamente, dupa fiecare clasament se va afisa o linie goala), fiecare linie continand 3 numere separate printr-un spatiu: ID-ul, Nr. de puncte acumulate de la inceputul campionatului si Diferenta de nivel din clasament fata de print-ul trecut. | ||
- | * Afisarea se va face in fisierul race.out | + | * Afisarea se va face in fisierul races.out |
<note tip>Pentru primul print Diferenta de nivel va fi 0 pentru toti participantii.</note> | <note tip>Pentru primul print Diferenta de nivel va fi 0 pentru toti participantii.</note> | ||
Line 116: | Line 121: | ||
=== Restrictii si precizari === | === Restrictii si precizari === | ||
- | * TO DO | ||
<note warning>**Atenție!** Structurile de date trebuie sa fie implementate generic.</note> | <note warning>**Atenție!** Structurile de date trebuie sa fie implementate generic.</note> | ||
+ | * 0 < n < 1000 | ||
=== Teste publice === | === Teste publice === | ||
- | {{|Checker Tema1}} | + | |
+ | {{:sd-ca:teme:checker-tema1-2019-v3.zip|}} | ||
Temele vor trebui trimise pe [[https://elf.cs.pub.ro/vmchecker/ui/#SD|vmchecker]]. | Temele vor trebui trimise pe [[https://elf.cs.pub.ro/vmchecker/ui/#SD|vmchecker]]. | ||
Line 165: | Line 170: | ||
| Insert | O(log n) | O(n) | | | Insert | O(log n) | O(n) | | ||
| Delete | O(log n) | O(n) | | | Delete | O(log n) | O(n) | | ||
+ | \\ | ||
+ | **Principalele operatii:** | ||
+ | \\ | ||
<code> | <code> | ||
**Search**(key) | **Search**(key) | ||
Line 203: | Line 210: | ||
Remove all empty layers of skip list | Remove all empty layers of skip list | ||
</code> | </code> | ||
+ | {{ :sd-ca:teme:screenshot_from_2019-03-04_22-06-08.png?nolink&700 |}} | ||
<note tip>Linkuri utile:\\ | <note tip>Linkuri utile:\\ | ||
'' | '' | ||
https://people.ok.ubc.ca/ylucet/DS/SkipList.html\\ | https://people.ok.ubc.ca/ylucet/DS/SkipList.html\\ | ||
- | + | | |
- | https://www.geeksforgeeks.org/skip-list-set-3-searching-deletion/\\ | + | |
https://www.ics.uci.edu/~pattis/ICS-23/lectures/notes/Skip%20Lists.pdf\\ | https://www.ics.uci.edu/~pattis/ICS-23/lectures/notes/Skip%20Lists.pdf\\ | ||
Line 223: | Line 228: | ||
</note> | </note> | ||
- | </hidden> |