Pagini recente » Cod sursa (job #2333950) | ONIS 2014, Runda 2 | Cod sursa (job #3210316) | Cod sursa (job #1303705) | Cod sursa (job #1780033)
#include<cstdio>
#include<algorithm>
const int NMAX=16;
int v[NMAX+1][NMAX+1];
bool folosit[NMAX+1];
int n,m,maxim;
void Back(int k)
{
if(k==m+1)
{
int suma=0;
for(int i=1;i<=n;i++)
{
int s=0;
for(int j=1;j<=m;j++)
s+=(folosit[j]?-1:1)*v[i][j];
s=s<0?-s:s;
suma+=s;
}
if(suma>maxim)
{
maxim=suma;
}
}
else
{
folosit[k]=true;
Back(k+1);
folosit[k]=false;
Back(k+1);
}
}
int main()
{
FILE *in=fopen("flip.in","r");
fscanf(in,"%d %d ",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
fscanf(in,"%d ",&v[i][j]);
}
fclose(in);
FILE *out=fopen("flip.out","w");
Back(1);
fprintf(out,"%d ",maxim);
fclose(out);
return 0;
}