Pagini recente » Cod sursa (job #617580) | Cod sursa (job #2437816) | Cod sursa (job #1806665) | Cod sursa (job #2841765) | Cod sursa (job #130346)
Cod sursa(job #130346)
#include<stdio.h>
long t[1<<4][1<<4];
int n,m;
long double max;
void beolvas()
{
int i,j;
FILE *f=fopen("flip.in","r");
fscanf(f,"%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
fscanf(f,"%ld",&t[i][j]);
fclose(f);
}
int optimizal()
{
int tal=0,i,j;
long double s1,s2;
for(i=0;i<n;i++)
{
s1=s2=0;
for(j=0;j<m;j++)
{
s1+=t[i][j];
s2+=(-t[i][j]);
}
if(s2>s1)
for(j=0,tal=1;j<m;t[i][j++]*=(-1));
}
for(i=0;i<m;i++)
{
s1=s2=0;
for(j=0;j<n;j++)
{
s1+=t[j][i];
s2+=(-t[j][i]);
}
if(s2>s1)
for(j=0,tal=1;j<n;t[j][i]*=(-1),j++);
}
return tal;
}
void megold()
{
while(optimizal());
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
max+=t[i][j];
}
void kiir()
{
FILE *f=fopen("flip.out","w");
fprintf(f,"%.0Lf",max);
fclose(f);
}
int main()
{
beolvas();
megold();
kiir();
return 0;
}