Professional Documents
Culture Documents
{if(p==q)
return v[p];
else
int m=(p+q)/2;
m1=divimp(p,m);
m2=divimp(m+1,q);
if(conditie)
return ceva(adevarat)
int main
citesti vector
-----------------------------------------------------------------------
{if(p==q)
if(v[p]==x)
return 1;
else return 0;
else if(p>q)
return 0;
else
{int m=(p+q)/2;
if(x==v[m])
return 1;
return divimp(p,m-1)
int main()
citesti n;
citesti un vectorr;
citesti o valoare x;
GREEDY
///rucsac
struct numie
int pret;
int greutate;
};
int main()
int G, n;
numie v[50];
cout<<"G=?=";cin>>G;
cout<<"n=?=";cin>>n;
for(int i=0;i<=n;i++)
{
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(v[i].pret/v[i].greutate<v[j].pret/v[j].greutate)
swap(v[i],v[j]);
int g=0;
int pu=0;
for(int i=0;i<n;i++)
{if(v[i].greutate+g<=G)
g+=v[i].greutate;
pu+=v[i].pret;
cout<<pu;
+benzinarie
Back recursiv
///backtracking recursiv
int valid(int k)
}
int solutie(int k)
k==n
void afisare(int k)
{for(int i=1;i<=n;i++)
cout<<x[n];
cout<<endl;
void bkt(int k)
for(int p=0;p<n;p++)
if(valid(k))
if(solutie(k))
afisare(k);
else
bkt(k+1);
int main()
citesti n;
citesti v...
bkt(1);
Back in plan
///backtracking plan
int a[51][50];
int m,n;
int x,y;
afisare();
else
int ii,jj;
ii==i+dr[k];
jj==j+dc[k];
bkt(ii,jj);
a[i][j]==1;
void afisare()
{for(int i=0;i<=m;i++)
for(int j=0;j<=n;j++)
cout<<a[i][j]<<' ';
cout<<endl;
int main()
citire n,m;
citire x,y
bkt(x,y);
int a[50][50];
int n;
int nrmutari=0;
int x,y;
void afisare()
for(int k=0;k<n;k++)
for(int p=0;p<n;p++)
cout<<a[k][p]<<' ';
cout<<endl;
a[i][j]=++nrmutari;
if(n*n==nrmutari)
{
afisare();
else
{for(int i=0;i<8;i++)
{int ii,jj;
ii=i+dr[i];
jj=j+dc[j];
backt(ii,jj);
a[i][j]=0;
nrmutari=nrmutari-1;
int main()
{cout<<"n= ";cin>>n;
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
cout<<"a["<<i<<"]["<<j<<"]= ";
cin>>a[i][j];