Răspuns :
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("palindrom_ciclic.in");
ofstream g("palindrom_ciclic.out");
void citire(int &n, int s[])
{
f >> n;
for (int i=0; i<n; ++i)
f >> s[i];
}
bool palindrom(int n, int s[])
{
for (int i=0; i<n/2; ++i)
if (s[i]!=s[n-1-i]) return false;
return true;
}
void mesaj(bool pal, int depl)
{
if (!pal) g << "NU";
else g << "DA " << depl;
}
void permutari(int n, int s[], bool &pal, int &depl)
{
for (int j=1; j<n; ++j)
{
int t=s[0];
for (int i=0; i<n-1; ++i)
s[i]=s[i+1];
s[n-1]=t;
++depl;
pal=palindrom(n,s);
if (pal) break;
}
}
int main()
{
int s[1002], n, depl=0;
bool pal;
citire(n,s);
pal=palindrom(n,s);
if (pal) mesaj(pal,depl);
else
{
permutari(n,s,pal,depl);
mesaj(pal,depl);
}
}
Explicație:
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.