sâmbătă, 3 noiembrie 2012

Problema 25 (asemanatoare)

Sa se genereze toate palindroamele de lungime n.

#include<iostream>
using namespace std;
int x[11],n,nr=0;
void afisare()
{int i;nr++;
for(i=1;i<=n;i++)
    cout<<x[i]<<" ";
cout<<endl;
}

int verif(int i)
{if(i==1 && x[i]==0)
    return 0;
if(n%2==1)
    if(i>n/2)
        if(x[i]!=x[n-i+1])
            return 0;
if(n%2==0)
    if(i>n/2)
        if(x[i]!=x[n-i+1])
            return 0;
return 1;
}

void back(int i)
{int j;
for(j=0;j<10;j++)
{x[i]=j;
if(verif(i))
    if(i==n)
        afisare();
    else back(i+1);}
}

int main()
{
cin>>n;
back(1);
cout<<endl<<nr<<" solutii";
}

Niciun comentariu:

Trimiteți un comentariu