Pagini recente » Cod sursa (job #2650914) | Cod sursa (job #742343) | Cod sursa (job #316070) | Cod sursa (job #2551421) | Cod sursa (job #556467)
Cod sursa(job #556467)
#include <cstdio>
using namespace std;
int n,m,a[17][17],sc[17],sc2[17],sl[17],sl2[17],i,j,s,smax,q,t,r;
void Citeste()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
sc[j]=sc[j]+a[i][j];
}
}
}
void Scrie()
{
printf("%d",smax);
}
int main()
{
int k;
Citeste();
for(i=1;i<=m;i++)
{
sc2[i]=-sc[i];
if(sc[i]<sc2[i])
{
sc[i]=sc2[i];
for(j=1;j<=n;j++)
{
a[j][i]=-a[j][i];
}
}
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
sl[i]=sl[i]+a[i][j];
s=0;
for(i=1;i<=m;i++)
s=s+sc[i];
if(s>smax)
smax=s;
q=1;
for(i=1;i<=n;i++)
q=q*2;
for(i=1;i<=q;i++)
{
t=i;
r=0;
for(k=1;k<=n;k++)
sl2[k]=sl[k];
while(t!=0)
{
r++;
if(t%2==1)
{
sl2[r]=-sl[r];
}
t=t/2;
}
s=0;
for(j=1;j<=n;j++)
s=s+sl2[j];
if(s>smax)
{
smax=s;
}
/*t=i;
r=0;
while(t!=0)
{
r++;
if(t%2==1)
{
for(k=1;k<=m;k++)
{
sl[r]=sl[r]+a[r][k];
}
}
t=t/2;
}*/
}
Scrie();
return 0;
}