fbpx

Problema #1400 – e_palindrom – Rezolvari PBInfo

de Mihai-Alexandru

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

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[1000] , f[10000]={0};
    for(int i = 0 ; i < n ; ++i)
    {
        cin >> a[i];
        f[a[i]]++;
    }
    int cnt=0;
    for(int i = 0 ; i <= 10000 ; ++i)
    {
        if(f[i]!=0)
        {
            if(f[i]%2!=0)
            cnt++;
        }
    }
    if(cnt==0 || cnt==1)
    cout << "DA";
    else
    cout << "NU";
}
Comentarii

S-ar putea sa iti placa