Pagini recente » Cod sursa (job #2215695) | Cod sursa (job #2262331) | Cod sursa (job #1236543) | Rating Iordache Madalin (IordacheMadalin) | Cod sursa (job #507779)
Cod sursa(job #507779)
#include <fstream>
#define IN_FILE "flip.in"
#define OUT_FILE "flip.out"
using namespace std;
fstream fin (IN_FILE, ios::in);
fstream fout (OUT_FILE, ios::out);
long N,M,A[20][20],S[20],rez,i,j;
long genl (long);// functia de backtracking linii
long genc (long);// functia de backtracking coloane
int main ()
{
fin>>N>>M;
for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
fin>>A[i][j];
if(N<M) genl(0);
else genc(0);
fout<<rez;
return 0;
}
long genl (long k)
{
if(k==N)
{
int sum=0,i,j;
for (i=1;i<=N;i++)
for(j=1;j<=M;j++)
sum+=A[i][j]*S[i];
if(sum>rez) rez=sum;
}
else
{
k++;
S[k]=-1;
genl(k);
S[k]=1;
genl (k);
}
}
long genc (long k)
{
if(k==M)
{
int sum=0,i,j;
for (i=1;i<=N;i++)
for(j=1;j<=M;j++)
sum+=A[i][j]*S[j];
if(sum>rez) rez=sum;
}
else
{
k++;
S[k]=-1;
genc(k);
S[k]=1;
genc (k);
}
}