Pagini recente » Cod sursa (job #599201) | Cod sursa (job #187682) | Cod sursa (job #3242810) | Cod sursa (job #2701563) | Cod sursa (job #259393)
Cod sursa(job #259393)
#include<fstream.h>
ifstream intrare("flip.in");
ofstream iesire("flip.out");
int N,M;
long int a[17][17];
int col[17];
int rand[17];
long int maxim=-100000;
void calculeaza()
{
int suma=0;
for (int i=1;i<=N;i++)
for (int j=1;j<=M;j++)
suma+=a[i][j]*col[j]*rand[i];
if(suma>maxim) maxim=suma;
}
void back(int i, int j)
{
if(i>N)calculeaza();
else if(j>M)
{
rand[i+1]=1;
back(i+1,1);
rand[i+1]=-1;
back(i+1,1);
}
else
{
col[j]=1;
back(i,j+1);
col[j]=-1;
back(i,j+1);
}
}
int main()
{
intrare>>N>>M;
for (int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
intrare>>a[i][j];
rand[1]=1;
back(1,1);
rand[1]=-1;
back(1,1);
iesire<<maxim;
iesire.close();
intrare.close();
return 0;
}