Advertisement
a53

tata

a53
Dec 16th, 2018
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1.  
  2. /*
  3. Problema tata – descrierea soluției
  4. Un vector de tați t trebuie să conțină o singură valoare de 0. Dacă în vector este o singură valoarea nulă, atunci se construiesc listele de adiacență L asociate unui graf orientat și pentru fiecare t[i] = j, cu j != 0 se adaugă în lista L[j] valoarea i. Se face apoi parcurgerea DFS(rad), unde rad este poziția din vectorul de tați unde t[rad] = 0. La final, dacă toate nodurile au fost vizitate, atunci este vectorul de tați este asociat unui arbore cu rădăcină. În caz contrar, nu este arbore. Complexitate O(n).
  5. */
  6. #include <iostream>
  7. using namespace std;
  8. int F[100001];
  9. int main()
  10. {
  11. int n;
  12. cin>>n;
  13. int x;
  14. for(int i=1;i<=n;++i)
  15. cin>>x,++F[x];
  16. bool ok=true;
  17. for(int i=1;i<=n;++i)
  18. if(F[i]==1)
  19. {
  20. ok=false;
  21. break;
  22. }
  23. if(!F[0])
  24. {
  25. cout<<"NU";
  26. return 0;
  27. }
  28. if(!ok)
  29. cout<<"NU";
  30. else
  31. cout<<"DA";
  32. return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement