Pagini recente » Cod sursa (job #2864445) | Cod sursa (job #674680) | Cod sursa (job #3121644) | Cod sursa (job #2816514) | Cod sursa (job #902545)
Cod sursa(job #902545)
#include <stdio.h>
using namespace std;
int N,M,t[17][17];
long RES=0;
void _read()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d",&N,&M);
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
scanf("%d",&t[i][j]);
}
void flipcol(int m)
{
for(int i=0;i<N;i++)
t[i][m]*=-1;
}
void fliprand(int n)
{
for(int j=0;j<M;j++)
t[n][j]*=-1;
}
int sumcol(int m)
{
long s=0;
for(int i=0;i<N;i++)
s+=t[i][m];
return s;
}
int sumrand(int n)
{
long s=0;
for(int j=0;j<M;j++)
s+=t[n][j];
return s;
}
int main()
{
_read();
bool modif=true;
while(modif)
{
modif=false;
for(int j=0;j<M;j++)
{
if(sumcol(j)<0){ flipcol(j); modif=true; }
}
for(int i=0;i<N;i++)
{
if(sumrand(i)<0){ fliprand(i); modif=true; }
}
}
for(int j=0;j<M;j++)
RES+=sumcol(j);
printf("%ld",RES);
return 0;
}