Pagini recente » Cod sursa (job #618748) | Cod sursa (job #3204173) | Cod sursa (job #900976) | Cod sursa (job #987367) | Cod sursa (job #754429)
Cod sursa(job #754429)
#include <cstdio>
#include <stdlib.h>
int m,n;
int max(int a,int b, int c)
{
if ((a>b) && (a>c))
return a;
if (b>c)
return b;
return c;
}
int back(int a[16][16],int y, int coef)
{
if (coef = -1)
for (int i=0;i<m;i++)
a[i][y] = -a[i][y];
int sum = 0;
//schimba liniile negative
for (int i=0;i<m;i++)
{
int sumint = 0;
for (int j=0;j<n;j++)
sumint += a[i][j];
if (sumint < 0)
sum -= sumint;
else
sum += sumint;
}
if (y == m-1)
return sum;
return max(sum,back(a,y+1,1),back(a,y+1,-1));
}
int main()
{
FILE *f = fopen("flip.in","r");
FILE *g = fopen("flip.out","w");
int a[16][16];
fscanf(f,"%d",&m);
fscanf(f,"%d",&n);
for (int i=0;i<m;i++)
for (int j=0;j<n;j++)
fscanf(f,"%d",&a[i][j]);
int sum;
int x,y;
x = back(a,0,1);
y = back(a,0,-1);
if (x>y)
sum = x;
else
sum = y;
fprintf(g,"%d",sum);
fclose(f);
fclose(g);
}