Differences

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

Link to this comparison view

pa:laboratoare:laborator-07 [2026/04/21 00:50]
radu.nichita [1) Planets and Kingdoms]
pa:laboratoare:laborator-07 [2026/04/21 00:56] (current)
radu.nichita [6) Giant Pizza]
Line 451: Line 451:
 ====== Pool probleme (pentru prezentări) ====== ====== Pool probleme (pentru prezentări) ======
  
-======= 1) Planets and Kingdoms =======+======= 1) Longest Flight Route  ======= 
 + 
 +**Enunț:** Se consideră un graf orientat aciclic (DAG) cu ''​n''​ orașe și ''​m''​ zboruri. Cerința este să se determine cel mai lung traseu posibil de la orașul 1 la orașul ''​n''​. Traseul reprezintă secvența de orașe vizitate. Dacă există mai multe trasee de lungime maximă, oricare variantă este acceptată. 
 + 
 +**Date de intrare:** Prima linie conține două numere întregi ''​n''​ și ''​m''​. Următoarele ''​m''​ linii conțin perechi de noduri ''​a''​ și ''​b'',​ reprezentând un zbor orientat de la orașul ''​a''​ la orașul ''​b''​. 
 + 
 +**Date de ieșire:** Prima linie va conține un număr întreg reprezentând numărul maxim de orașe vizitate. A doua linie va conține secvența de orașe din traseul găsit, separate prin spațiu. Dacă nu există niciun drum valid de la 1 la ''​n'',​ se va afișa textul "​IMPOSSIBLE"​. 
 + 
 +Problema se poate testa la: \\ 
 +[[https://​cses.fi/​problemset/​task/​1680 | CSES - Longest Flight Route]] 
 + 
 +======= 2) Planets and Kingdoms =======
  
 **Enunț:** Se consideră un graf orientat cu ''​n''​ planete și ''​m''​ rute de zbor. O rută ''​a → b''​ indică faptul că se poate zbura de la planeta ''​a''​ la planeta ''​b''​. Două planete fac parte din același „regat” dacă există drumuri în ambele direcții între ele (direct sau indirect). Să se determine numărul total de regate și să se atribuie fiecărei planete un identificator de regat. **Enunț:** Se consideră un graf orientat cu ''​n''​ planete și ''​m''​ rute de zbor. O rută ''​a → b''​ indică faptul că se poate zbura de la planeta ''​a''​ la planeta ''​b''​. Două planete fac parte din același „regat” dacă există drumuri în ambele direcții între ele (direct sau indirect). Să se determine numărul total de regate și să se atribuie fiecărei planete un identificator de regat.
Line 462: Line 473:
 [[https://​cses.fi/​problemset/​task/​1683 | CSES - Planets and Kingdoms]] [[https://​cses.fi/​problemset/​task/​1683 | CSES - Planets and Kingdoms]]
  
-======= ​2) Critical Connections in a Network =======+======= ​3) Critical Connections in a Network =======
  
 **Enunț:** Se dă o rețea de ''​n''​ noduri (servere) numerotate de la 0 la ''​n - 1'',​ conectate prin conexiuni bidirecționale. O conexiune este considerată „critică” dacă eliminarea ei crește numărul de componente conexe (adică rețeaua devine mai puțin conectată). Cerința este de a găsi toate conexiunile critice din rețea. **Enunț:** Se dă o rețea de ''​n''​ noduri (servere) numerotate de la 0 la ''​n - 1'',​ conectate prin conexiuni bidirecționale. O conexiune este considerată „critică” dacă eliminarea ei crește numărul de componente conexe (adică rețeaua devine mai puțin conectată). Cerința este de a găsi toate conexiunile critice din rețea.
Line 473: Line 484:
 [[https://​leetcode.com/​problems/​critical-connections-in-a-network/​ | LeetCode - Critical Connections in a Network]] [[https://​leetcode.com/​problems/​critical-connections-in-a-network/​ | LeetCode - Critical Connections in a Network]]
  
-======= ​3) Planets Cycles =======+======= ​4) Planets Cycles =======
  
 **Enunț:** Se dau ''​n''​ planete, fiecare planetă având exact o muchie orientată către o altă planetă (se poate indica chiar către ea însăși). Pornind dintr-o planetă, un explorator va continua să sară pe următoarea conform muchiei. Pentru fiecare planetă, se cere să determini câte planete diferite va vizita exploratorul până când ajunge pe o planetă deja văzută. **Enunț:** Se dau ''​n''​ planete, fiecare planetă având exact o muchie orientată către o altă planetă (se poate indica chiar către ea însăși). Pornind dintr-o planetă, un explorator va continua să sară pe următoarea conform muchiei. Pentru fiecare planetă, se cere să determini câte planete diferite va vizita exploratorul până când ajunge pe o planetă deja văzută.
Line 484: Line 495:
 [[https://​cses.fi/​problemset/​task/​1751 | CSES - Planets Cycles]] [[https://​cses.fi/​problemset/​task/​1751 | CSES - Planets Cycles]]
  
-======= ​4) Coin Collector =======+======= ​5) Coin Collector =======
  
-**Enunț:​** ​Ai un graf orientat cu ''​n''​ noduri și ''​m''​ muchii. Fiecare nod conține un anumit număr de monede. Poți începe traseul din orice nod și te poți deplasa doar folosind muchiile orientate. De fiecare dată când vizitezi un nod, colectezi toate monedele din acel nod (lucru care se poate face o singură dată per nod pe parcursul unui traseu). Cerința este să determini numărul maxim de monede pe care le poți colecta.+**Enunț:​** ​Fie un graf orientat cu ''​n''​ noduri și ''​m''​ muchii. Fiecare nod conține un anumit număr de monede. Poți începe traseul din orice nod și te poți deplasa doar folosind muchiile orientate. De fiecare dată când vizitezi un nod, colectezi toate monedele din acel nod (lucru care se poate face o singură dată per nod pe parcursul unui traseu). Cerința este să determini numărul maxim de monede pe care le poți colecta.
  
 **Date de intrare:** Prima linie conține două numere întregi ''​n''​ și ''​m''​. A doua linie conține valorile ''​c_1,​ c_2, ..., c_n'',​ reprezentând monedele din fiecare nod. Următoarele ''​m''​ linii descriu muchiile orientate sub forma ''​a b'',​ adică o muchie de la ''​a''​ la ''​b''​. **Date de intrare:** Prima linie conține două numere întregi ''​n''​ și ''​m''​. A doua linie conține valorile ''​c_1,​ c_2, ..., c_n'',​ reprezentând monedele din fiecare nod. Următoarele ''​m''​ linii descriu muchiile orientate sub forma ''​a b'',​ adică o muchie de la ''​a''​ la ''​b''​.
Line 495: Line 506:
 [[https://​cses.fi/​problemset/​task/​1686 | CSES - Coin Collector]] [[https://​cses.fi/​problemset/​task/​1686 | CSES - Coin Collector]]
  
-======= ​5) Giant Pizza =======+======= ​6) Giant Pizza =======
  
-**Enunț:** O familie cu ''​n''​ membri dorește să comande o pizza. Există ''​m''​ ingrediente posibile. Fiecare membru al familiei are exact două preferințe legate de pizza, fiecare preferință specificând dacă un anumit ingredient ar trebui inclus (+) sau exclus (-). Sarcina ta este să determini dacă există o rețetă de pizza (o atribuire a stării incluse/​excluse pentru fiecare ingredient) ​astfel încât cel puțin o preferință a fiecărui membru al familiei să fie respectată. (Aceasta este, în esență, o problemă clasică de satisfiabilitate booleană – 2-SAT).+**Enunț:** O familie cu ''​n''​ membri dorește să comande o pizza. Există ''​m''​ ingrediente posibile. Fiecare membru al familiei are exact două preferințe legate de pizza, fiecare preferință specificând dacă un anumit ingredient ar trebui inclus (+) sau exclus (-). Sarcina ta este să determini dacă există o rețetă de pizza astfel încât cel puțin o preferință a fiecărui membru al familiei să fie respectată. ​
  
 **Date de intrare:** Prima linie conține două numere întregi ''​n''​ și ''​m''​. Următoarele ''​n''​ linii conțin câte două perechi de valori reprezentând preferințele membrilor (ex. "+ 1 - 2" înseamnă că dorește ingredientul 1, dar nu dorește ingredientul 2). O preferință este îndeplinită dacă pizza finală respectă măcar una dintre cele două condiții alese de membru. **Date de intrare:** Prima linie conține două numere întregi ''​n''​ și ''​m''​. Următoarele ''​n''​ linii conțin câte două perechi de valori reprezentând preferințele membrilor (ex. "+ 1 - 2" înseamnă că dorește ingredientul 1, dar nu dorește ingredientul 2). O preferință este îndeplinită dacă pizza finală respectă măcar una dintre cele două condiții alese de membru.
pa/laboratoare/laborator-07.1776721830.txt.gz · Last modified: 2026/04/21 00:50 by radu.nichita
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