# PBinfo #309 – permutare – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Se numeşte permutare a unei mulţimi finite orice rearanjare a tuturor elementelor acelei mulţimi.

Cerinţa
Se dă un şir cu n elemente, numere  naturale. Să se verifice dacă reprezintă o permutare a mulţimii {1,2,...,n}.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă şirul reprezintă o permutare a mulţimii {1,2,...,n}, respectiv NU în caz contrar.

Restricţii şi precizări

1 ≤ n ≤ 100

Exemplul 1:
Date de intrare

5
2 5 4 3 1
Date de ieșire

DA
Exemplul 2:
Date de intrare

5
2 5 4 3 9
Date de ieșire

NU

## Cod sursă C++

```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int n, v[101];
bool adv = true;
int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i)
    	cin >> v[i];
    sort(v + 1, v + n + 1);
    for (int i = 1; i <= n; ++i)
        if (v[i] != i)
        	adv = false;
    if (adv) cout << "DA";
    else cout << "NU";
    return 0;    
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/309)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/309/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-309/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
