Pagini recente » Cod sursa (job #1118748) | Cod sursa (job #1085690) | Statistici UPT Hakuna Matata (UPT-Teudan-Vijdea-Retzler) | Cod sursa (job #4589) | Cod sursa (job #1924)
Cod sursa(job #1924)
#include<fstream.h>
#include<iostream.h>
fstream f("flip.in",ios::in);
fstream g("flip.out",ios::out);
int n,k,m,as,ev,max=-32000,a[20][20],x[40],s;
void citire()
{ f>>n>>m;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f.close();
}
void init()
{ x[k]=-3;
}
int succesor()
{ if(x[k]<1)
{x[k]+=2; return 1;}
return 0;
}
int valid()
{ return 1;
}
int solutie()
{ return (k==n+m);
}
void tipar()
{ int i,j,s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j]*x[i]*x[n+j] ;
if(s>max)
max=s;
}
void back()
{ k=1;
init();
while(k>0)
{ /* do */
as=succesor();
/*if(as)
ev=valid();*/
/*while(!as);*/
if(as)
if(solutie())
tipar();
else
{k++;init();}
else
k--;
}
}
int main()
{ citire();
back();
g<<max;
g.close();
return 0;
}