Pagini recente » Cod sursa (job #2687386) | Cod sursa (job #605896) | Cod sursa (job #2933755) | Cod sursa (job #1748539) | Cod sursa (job #13325)
Cod sursa(job #13325)
using namespace std;
#include<fstream>
#include<stdio.h>
#define nmax 18
int a[nmax][nmax];
int main()
{
FILE *fin=fopen("flip.in","r"),
*fout=fopen("flip.out","w");
int m,n;
fscanf(fin,"%d%d",&m,&n);
int i,j;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
fscanf(fin,"%d",&a[i][j]);
int x,sum,sol=-1000000000,scol;
for(x=0;x<(1<<m);x++)
{
for(i=1;i<=m;i++)
if((1<<(i-1))&x)
for(j=1;j<=n;j++)
a[i][j]=-a[i][j];
sum=0;
for(j=1;j<=n;j++)
{
scol=0;
for(i=1;i<=m;i++)
scol+=a[i][j];
if(scol>0) sum+=scol;
else sum-=scol;
}
if(sum>sol) sol=sum;
for(i=1;i<=m;i++)
if((1<<(i-1))&x)
for(j=1;j<=n;j++)
a[i][j]=-a[i][j];
}
fprintf(fout,"%d\n",sol);
fclose(fin);
fclose(fout);
return 0;
}