Pagini recente » Cod sursa (job #1053745) | Cod sursa (job #2164529) | Cod sursa (job #251843) | Cod sursa (job #1463983) | Cod sursa (job #641671)
Cod sursa(job #641671)
//Autor: Grigore Alexandru
//Problema: http://infoarena.ro/problema/flip
#include <cstdio>
int tabla[16][16], nrLinii, nrColoane, st[16], sumaMaxima;
void setMax()
{int i, j, suma=0, s;
for(i=0; i<nrColoane; i++)
{s=0;
for(j=0; j<nrLinii; j++)
s=s+st[j]*tabla[j][i];
if(s<0) suma=suma-s;
else suma=suma+s;
}
if(suma>sumaMaxima) sumaMaxima=suma;
}
void back(int varf)
{if(varf==nrLinii)
{setMax();
return;
}
st[varf]=1;
back(varf+1);
st[varf]=-1;
back(varf+1);
}
int main()
{ FILE *f=fopen("flip.in", "r");
int i, j;
fscanf(f, "%d%d", &nrLinii, &nrColoane);
for(i=0; i<nrLinii; i++)
for(j=0; j<nrColoane; j++)
fscanf(f, "%d", &tabla[i][j]);
back(0);
FILE *g=fopen("flip.out", "w");
fprintf(g, "%d", sumaMaxima);
fclose(g);
fclose(f);
return 0;
}