Pagini recente » Cod sursa (job #680111) | Cod sursa (job #2559154) | Cod sursa (job #2194186) | Cod sursa (job #2525796) | Cod sursa (job #346678)
Cod sursa(job #346678)
#include <stdio.h>
int x, y;
int a[16][16];
int max;
int i, j;
int l[16], c[16];
void recc(int);
void recl(int);
int suma();
int main()
{
FILE *fi = fopen("flip.in", "r");
FILE *fo = fopen("flip.out", "w");
fscanf(fi,"%d %d", &x, &y);
for (i = 0; i < x; i++)
for (j = 0; j < y; j++)
fscanf(fi, "%d", &a[i][j]);
for (i = 0; i < 16; i++){
l[i] = 1;
c[i] = 1;
}
max = suma();
recl(0);
fprintf(fo, "%d", max);
return 0;
}
void recl(int j)
{
if (j < y){
recl(j+1);
l[j] = -1;
recl(j+1);
l[j] = 1;
}
else
recc(0);
}
void recc(int i)
{
int sum;
if (i < x){
recc(i+1);
c[i] = -1;
recc(i+1);
c[i] = 1;
}
else{
sum = suma();
if (sum > max)
max = sum;
}
}
int suma()
{
int i, j, sum=0;
for (i = 0; i < x; i++)
for (j = 0; j < y; j++)
sum+=a[i][j]*l[j]*c[i];
return sum;
}