Pagini recente » Statistici Diaconu (daria_diaconu) | Istoria paginii planificare/sedinta-20071218 | Cod sursa (job #1736974) | Cod sursa (job #832956) | Cod sursa (job #91840)
Cod sursa(job #91840)
//melc.
#include<stdio.h>
int n,m,max;
int a[16][16];
void citire()
{
freopen("flip.in","r",stdin);
scanf("%d %d\n",&n,&m);
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
scanf("%d",&a[i][j]);
fclose(stdin);
max=0;
}
void fleep(int x,int y) //1 col/2 lin
{
if (y==1)
for (int ii=0;ii<n;ii++)
a[ii][x]*=(-1);
else
for (int jj=0;jj<m;jj++)
a[x][jj]*=(-1);
}
void maxi()
{
int aux;
for (int k=0;k<m;k++)
{
aux=0;
for (int k1=0;k1<n;k1++)
aux+=a[k1][k];
if (aux<0) fleep(k,1);
}
aux=0;
for (int k1=0;k1<n;k1++)
for (int k2=0;k2<m;k2++)
aux+=a[k1][k2];
if (aux>max) max=aux;
}
void becu_vietii(int x)
{
if (x==n) maxi();
else
{
becu_vietii(x+1);
fleep(x,2);
becu_vietii(x+1);
fleep(x,2);
}
}
int main()
{
citire();
becu_vietii(0);
freopen("flip.out","w",stdout);
printf("%d",max);
fclose(stdout);
return 0;
}