Pagini recente » Cod sursa (job #2359424) | Cod sursa (job #2612984) | Cod sursa (job #678162) | Cod sursa (job #2431418) | Cod sursa (job #130970)
Cod sursa(job #130970)
#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=1,i,j,h=0;
long double s1,s2;
while(tal)
{
tal=0;
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,h++;j<m;t[i][j++]*=(-1));
}
}
tal=1;
while(tal)
{
tal=0;
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,h++;j<n;t[j][i]*=(-1),j++);
}
}
return h;
}
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;
}