Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:laboratoare:lab-07 [2022/04/05 15:29]
radu_stefan.minea [Exerciții]
sd-ca:laboratoare:lab-07 [2024/04/15 21:30] (current)
melih.riza [Exerciții]
Line 2: Line 2:
  
 Responsabili Responsabili
-  * [[mailto:​mitapirvuet@gmail.com|Mihai Pirvulet]] +  * [[stef.dascalu@gmail.com|Ștefan-Teodor Dascălu]] 
-  * [[mailto:​radustefanminea@gmail.com|Radu Minea]]+  * [[melih.riza03@gmail.com|Melih Riza]]
  
 ===== Obiective ===== ===== Obiective =====
Line 360: Line 360:
  
 ===== Schelet ===== ===== Schelet =====
-{{:​sd-ca:​laboratoare:​lab_7:​lab07_graphs_2.zip|}} 
-===== Exerciții ===== 
- 
 <note important>​ <note important>​
-Pentru a rezolva laboratorul folosind ​Github Classroom, ​urmați [[sd-ca:​laboratoare/​tutorial-github-classroom#​adaugarea_solutiei_unui_laborator|acești pași]]Asigurați-vă ca ați creat branchul pentru acest laborator **din branchul ''​master''​** al repository-ului vostru.+Daca folositi **Github Classroom**va rugam sa va actualizati scheletul cu cel de mai josCel din repo-ul clonat initial nu este la cea mai recenta versiune.
 </​note>​ </​note>​
 +
 +{{:​sd-ca:​laboratoare:​lab07_2024.zip|Scheletul de laborator}}
 +
 +===== Exerciții =====
  
 <​note>​ <​note>​
-Fiecare laborator va avea unul sau doua exerciții publice si un pool de subiecte ascunsedin care asistentul poate alege cum se formeaza celelalte puncte ale laboratorului.+Trebuie să vă creați cont de [[https://​lambdachecker.io | Lambda Checker]]dacă nu v-ați creat deja, pe care îl veți folosi la SD pe toată durata semestrului. Aveti grija sa selectati contestul corect la submit, si anume **[[https://​beta.lambdachecker.io/​contest/​34 |SD-CA-LAB-07 Grafuri (Advanced) ]]**
 </​note>​ </​note>​
  
-<​hidden>​ +1) [**3.5p**] Rezolvați o problemă ​**aleasă de catre asistent** din cele menționate mai sus care sunt prezente pe LambdaChecker (componente conexe, sortare topologică,​ drum minim, graf bipartit).
-**Observaţie (pentru asistenți):**+
  
-În cadrul acestui laborator exerciţiile vor fi făcute vizibile pe parcursul laboratorului,​ apoi mutate la loc în secţiunea //​Indicaţii pentru asistenţi//​. 
  
-Vă rugăm să faceţi public doar strictul necesar şi nu altceva!+2) [**3.5p**] Rezolvați o altă problemă ,**aleasă de voi**, din cele menționate mai sus care sunt prezente pe LambdaChecker (componente conexe, sortare topologică,​ drum minim, graf bipartit).
  
-**Notă (pentru asistenți):​** 
  
-[**3.5p**] Un exercițiu ales de către asistent pentru toată semigrupa.+3) [**2p bonus**] Implementați Courses II pe LambdaChecker.
  
-[**3.5p**] Al doilea exercițiu este ales de fiecare student în parte, după preferințe. 
-</​hidden>​ 
  
-1) [**3.5p**] Într-o rețea de socializare ​pentru ​gameri există mai multe clanuri. Doi jucători fac parte din același clan dacă există un drum atât de la X la Ycât și de la Y la X. Când se creează ​nouă legatură între doi jucători, clanurile ​din care ei fac parte se unesc formând un singur clan.+4) [**Bonus**] Veți primi 1p bonus pentru ​fiecare problemă rezolvată în plus pe LambdaCheckersau pe care trimiteți asistentului ​din urmatoarele probleme: [[https://​leetcode.com/​problems/​number-of-islands/​description/​]];​ [[https://​leetcode.com/​problems/​number-of-provinces/​description/​]].
  
-Se dau n numărul de gameri din rețeaua de socializare si m numărul de legături ce există intre aceștia. În continuare, sunt citite cele m legături. 
  
-Determinați numărul clanurilor existente în rețea și jucătorii care fac parte din fiecare clancompletând metodele connected_components și dfs_connected_comps din schelet.+**Punctajul maxim care se poate obține pe exerciții, incluzând bonusuleste de 12p.**
  
-**Exemplu** ​ 
  
-<code txt Intrare> ​ 
-12 10  
-0 1  
-0 2  
-1 2  
-2 3  
-4 5  
-4 6  
-5 6  
-4 7  
-7 8  
-9 10  
-</​code> ​ 
- 
-<code txt Ieșire> ​ 
-4 
-0 1 2 3 
-4 5 6 7 8 
-9 10 
-11 
-</​code> ​ 
- 
- 
-2) [**3.5p**] Un curier, care se află într-un oraș A, trebuie să livreze un pachet într-un oraș B.  
- 
-Pe hartă se află ''​n''​ orașe, conectate prin ''​m''​ străzi bidirecționale. Se știe faptul că fiecare dintre aceste străzi este parcursă într-un timp constant ''​t''​. ​ 
- 
-Se citesc ''​n'',​ ''​m'',​ cele ''​m''​ străzi și perechea de orașe ''​A''​ și ''​B''​. 
- 
-Determinați ruta cea mai scurtă pe care poate ajunge curierul în orașul B, în cazul în care aceasta există, completând metoda min_path din schelet. Dacă nu există nicio rută între orașele A și B, să se afișeze "No path found"​. 
- 
-**Exemplu** ​ 
- 
-<code txt Intrare> ​ 
-7 10 
-0 1  
-0 4  
-1 2  
-1 3  
-1 4  
-2 4  
-3 5  
-3 6  
-4 5  
-4 6  
-0 6  
-</​code> ​ 
- 
-<code txt Ieșire> ​ 
-0 4 6  
-</​code> ​ 
- 
-3) [**3.5p**] În primii ani de studiu, toți studenții de la Facultatea de Automatică și Calculatoare studiază un număr de N materii obligatorii. Dându-se un set de relații între acestea, cu semnificația că materia din stânga trebuie studiată într-un semestru anterior (nu neapărat din același an), celei din partea dreaptă, găsiti și implementați un algoritm care propune o ordine corectă de studiere a materiilor universitare,​ care să respecte restricțiile impuse, completând metodele topo_sort și dfs_topo_sort din schelet. 
- 
-**Exemplu** ​ 
- 
-<code txt Intrare> ​ 
-6 4  
-Programarea_Calculatoarelor ​ Structuri_de_Date ​ 
-Structuri_de_Date Programare_Orientata_pe_Obiecte ​ 
-Matematica1 ​ Fizica ​ 
-Matematica2 ​ Fizica ​ 
-</​code> ​ 
- 
-<code txt Ieșire> ​ 
-Matematica2 ​ 
-Matematica1 ​ 
-Fizica ​ 
-Programarea_Calculatoarelor ​ 
-Structuri_de_Date ​ 
-Programare_Orientata_pe_Obiecte ​ 
-</​code> ​ 
- 
- 
-4) [**3.5p**] Dându-se ''​n''​ noduri și ''​m''​ muchii ale unui graf neorientat, determinați dacă acest graf este bipartit și aflați cele două mulțimi care îl formează, completând metoda check_bipartite din schelet. Dacă graful nu este bipartit, să se afișeze "Graph is not bipartite"​. 
- 
-**Exemplu** ​ 
- 
-<code txt Intrare> ​ 
-9 8  
-0 1  
-0 6  
-1 2  
-2 7  
-3 6  
-4 7  
-4 8  
-5 8  
-</​code> ​ 
- 
-<code txt Ieșire> ​ 
-0 2 3 4 5  
-1 6 7 8  
-</​code> ​ 
- 
-5) [**BONUS**] Un curier trebuie să livreze pachete în ''​n''​ orașe. Orașele sunt codificate prin numere de la ''​0''​ la ''​n-1''​. Se cunosc m străzi bidirecționale,​ legături între orașe. Se citesc numarul de teste, apoi pentru fiecare test ''​n'',​ ''​m''​ și cele ''​m''​ străzi bidirecționale. ​ 
- 
-Sediul curieratului se află în orașul ''​0''​. Determinați toate rutele pe care curierul le poate urma astfel încât acesta să efectueze toate livrările și să se întoarcă la sediu, astfel încât el va trece prin fiecare oras o singură data.  
- 
-**Exemplu** ​ 
- 
-<code txt Intrare> ​ 
-5 7  
-0 1  
-1 2  
-0 3  
-1 3  
-1 4  
-2 4  
-3 4  
-</​code> ​ 
- 
-<code txt Ieșire> ​ 
-0 1 2 4 3 0  
-</​code>​ 
  
  
sd-ca/laboratoare/lab-07.1649161761.txt.gz · Last modified: 2022/04/05 15:29 by radu_stefan.minea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0