Pagini recente » Cod sursa (job #2237611) | Cod sursa (job #2284541) | Cod sursa (job #1898654) | Cod sursa (job #1020571) | Cod sursa (job #832947)
Cod sursa(job #832947)
#include <stdio.h>
#include <stdlib.h>
#define MAX 16
int A[MAX][MAX];
unsigned int m, n;
int maxim;
int readMatrix()
{
int i, j;
FILE *fin = fopen("flip.in", "r");
if (!fin || fscanf(fin, "%u %u", &m, &n)!=2)
{
return 0;
}
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
fscanf(fin, "%d", &A[i][j]);
}
}
fclose(fin);
return 1;
}
void maximl(int lin)
{
int i, j, sum=0, sumc=0;
if (lin==m)
{
sum=0;
for (j=0; j<n; j++)
{
sumc=0;
for (i=0; i<m; i++)
{
sumc+=A[i][j];
}
if (sumc<0)
{
sumc*=-1;
}
sum+=sumc;
}
if (maxim<sum)
{
maxim=sum;
}
}
else
{
maximl(lin+1);
for (j=0; j<n; j++)
{
A[lin][j]*=-1;
}
maximl(lin+1);
}
}
void printResult()
{
FILE *fout = fopen("flip.out", "w");
if (!fout || !fprintf(fout, "%d", maxim))
{
return 0;
}
fclose(fout);
return 1;
}
int main()
{
readMatrix();
maximl(0);
printResult();
return 0;
}