Pagini recente » Cod sursa (job #261777) | Cod sursa (job #1413546) | Cod sursa (job #2236609) | Rating Boncan Dragos Eduard Gabriel (dragos.boncan) | Cod sursa (job #116819)
Cod sursa(job #116819)
#include <stdio.h>
#include <malloc.h>
int i,j,m,n,p=0;
double max;
double **a;
int *x;
FILE *f, *g;
void prelSol()
{
int i;
double s=0;
s=0;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
if (x[i]!=x[n+j]) s+=(-1)*a[i][j];
else s+=a[i][j];
if (s>max)
{
max=s;
}
}
void back()
{
int k;
for (k=0; k<m+n; k++)
x[k]=-1;
k=0;
while (k>=0)
if (k==n+m)
{
prelSol();
k--;
}
else if (x[k]<1)
{
x[k]++;
k++;
}
else
{
x[k]=-1;
k--;
}
}
int main()
{
// FILE *f, *g;
max=0;
f=fopen("flip.in","r");
fscanf(f,"%d %d",&n, &m);
x=(int*) malloc ((m+n)*sizeof(int));
a=(double**) malloc (n*sizeof(double));
for (i=0; i<n; i++)
a[i]=(double*) calloc (m,sizeof(double));
for (i=0; i<n; i++)
for (j=0; j<m; j++)
fscanf(f,"%lf",&a[i][j]);
g=fopen("flip.out","w");
back();
fprintf(g,"%lf",max);
return 0;
}