Pagini recente » Cod sursa (job #709712) | Cod sursa (job #739833) | Cod sursa (job #1743079) | Cod sursa (job #2173079) | Cod sursa (job #502214)
Cod sursa(job #502214)
#include<stdio.h>
int n,m,a[17][17],b[17][17],max,val,k,p;
int calc_mat()
{
int i,j,suma,total=0;
for(j=1;j<=m;j++)
{
suma=0;
for(i=1;i<=n;i++)
{
suma += b[i][j];
}
if(suma<0)
suma=-suma;
total+=suma;
}
return total;
}
int main()
{
int i,j;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
/////citesc matr a si o copiez in matr b
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
}
/////
int val = calc_mat( );
if( val > max) max = val;
const int N = (1<<n);
for(i=0;i<N;i++)
{
for(k=1;k<=n;k++)
{
p= (1<<(k-1));
if(i & p)
{
for(j=1;j<=m;j++)
b[k][j]=-a[k][j];
}
}
val=calc_mat();
if(val>max)
max=val;
for(k=1;k<=n;k++)
{
p= (1<<(k-1));
if(i & p)
{
for(j=1;j<=m;j++)
b[k][j]=-b[k][j];
}
}
}
printf("%d\n",max);
return 0;
}