fbpx

Problema #309 – Permutare – Rezolvari PBInfo

de Mihai-Alexandru

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
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[101];
    for(int i = 1 ; i <= n ; ++i)
    cin >> a[i];
    sort(a+1, a+n+1);
    bool dif=true;
    for(int i = 1 ; i <= n ; ++i)
    {
        if(a[i]!=i)
        dif=false;
    }
    if(dif)
    cout << "DA";
    else
    cout << "NU";
    return 0;    
}
Comentarii

S-ar putea sa iti placa