Se citește un număr natural nenul n. Să se afişeze, în ordine lexicografică, toate submulțimile nevide ale mulţimii {1,2,..,n} pentru care diferența dintre oricare două elemente este mai mare decât 1. (backtrac
Care sunt conditiile care trebuie puse ?
girlis2crazy:
da
using namespace std;
int st[100],n,k,ev,as,i;
void init()
{st[k]=0;
}
int succesor()
{if(st[k]<n)
{st[k]++;
return 1;}
else return 0;}
int valid()
{for(i=1;i<=k;i++)
{if(st[k]<st[i])
return 0;
else
if(k>1)
if(st[k]-st[i]>=1)
return 0;
return 1;}
int solutie()
{return k==n;}
void tipar()
{for(i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;}
void bt()
{k=1;
init();
while(k>0)
{as=1;
ev=0;
while(as&&!ev)
{as=succesor();
if(as)
ev=valid();
}
if(as)
if(solutie())
tipar();
else
{k++;
in
Răspunsuri la întrebare
Răspuns de
0
Incearca sa ai mereu, la back 2-3 functii maxim:
Anexe:
Alte întrebări interesante
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă
Matematică,
9 ani în urmă