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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Permutare:
#include <iostream>
#include <cassert>
using namespace std;
int v[105];
int main(){
int n,x;
cin >> n;
for(int i=1;i<=n;++i){
cin >> x;
if(x>0 && x<=n)
v[x] ++;
}
int p = 1;
for(int i=1;i<=n;++i)
if(v[i]!=1)
p = 0;
if(p)
cout << "DA";
else
cout << "NU";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #309 Permutare
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #309 Permutare de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!