Pagini recente » Cod sursa (job #2280263) | Monitorul de evaluare | Cod sursa (job #13340) | Monitorul de evaluare | Cod sursa (job #196225)
Cod sursa(job #196225)
# include <stdio.h>
int i,j,n,m,k,b[20][20],a[20],smax=-32000,s1,s2,c[20][20],s;
void schimba ()
{
for (i=1;i<=n;i++)
if (a[i]==2)
for (j=1;j<=m;j++)
c[i][j]=c[i][j]*-1;
}
void schimba2 (int j)
{
for (i=1;i<=n;i++)
c[i][j]=c[i][j]*-1;
}
void xyz (int i)
{
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
c[i][j]=b[i][j];
schimba ();
for (j=1;j<=m;j++)
{
s1=0;
s2=0;
for (i=1;i<=n;i++)
{
s1=s1+c[i][j];
if (s1<0)
schimba2 (j);
}
}
s=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
s=s+c[i][j];
if (smax<s)
smax=s;
}
void back (int i)
{
int val;
for (val=1;val<=2;val++)
{
a[i]=val;
if (i==n+1)
xyz (i);
else
back (i+1);
}
}
int main ()
{
freopen ("flip.in","r",stdin);
freopen ("flip.out","w",stdout);
scanf ("%i",&n);
scanf ("%i",&m);
for (i=1;i<=m;i++)
for (j=1;j<=n;j++)
scanf ("%i",&b[j][i]);
back (1);
printf ("%i",smax);
return 0;
}