Pagini recente » Cod sursa (job #1223449) | Cod sursa (job #774685) | Cod sursa (job #2711729) | Cod sursa (job #2254152) | Cod sursa (job #1268772)
#include <stdio.h>
int n,m;
int sl[17],max=0,a[17][17];
bool b[18];
void check()
{
int s=0;
for(int i=1;i<=n;i++)
{
if(b[i]==0) s+=sl[i];
else s+=((-1)*sl[i]);
}
int salt;
for(int i=1;i<=m;i++)
{
salt=0;
for(int j=1;j<=n;j++)
{
if(b[j]==0) salt+=a[i][j];
else salt+=((-1)*a[i][j]);
}
if(salt<0) salt*=(-1);
s+=salt;
}
if(max<s) max=s;
}
void bcs(int pos)
{
if(pos==n+1)
{
check();
}
else
{
for(int i=0;i<2;i++)
{
b[pos]=i;
bcs(pos+1);
}
}
}
int main()
{
FILE *fin,*fout;
fin=fopen("flip.in","r");
fout=fopen("flip.out","w");
fscanf(fin,"%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
fscanf(fin,"%d",&a[i][j]);
sl[i]+=a[i][j];
}
}
bcs(1);
fprintf(fout,"%d",max);
}