Informatică, întrebare adresată de Ouroboros, 9 ani în urmă

C++
#1400

Cerința

Se citește un șir cu n numere naturale. Să se verifice dacă prin rearajarea elementelor șirului se poate obține un șir palindrom.
Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.
Date de ieșire

Programul va afișa pe ecran unul dintre mesajele “DA” sau “NU”.
Restricții și precizări

1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 10.000


Exemplu

Intrare

5
5 2 3 3 5

Ieșire

DA

Explicație

Se poate obține șirul palindrom 5,3,2,3,5

Răspunsuri la întrebare

Răspuns de ionutg38
2
#include <iostream> using namespace std; int main() { long long v[10000]={0},i,n,x,k1=0,k2=0,ma=-1; cin>>n; for(i=1;i<=n;i++) { cin>>x; if(x>ma) ma=x; v[x]++; } for(i=1;i<=ma;i++) { if(v[i]%2==1) k1++; if(v[i]%2==0 && v[i]!=0) k2++; } if(k1==0 || k1==1) cout<<"DA"; else cout<<"NU"; return 0; }
Alte întrebări interesante