Pagini recente » Cod sursa (job #2528947) | Cod sursa (job #559488) | Cod sursa (job #2493530) | Cod sursa (job #1557383) | Cod sursa (job #332777)
Cod sursa(job #332777)
#include<iostream>
#include<fstream>
using namespace std;
long n,m,s[16][16],st[33],a[16][16],mx,sum;
void schimb()
{int i,j,k;
for(k=1;k<=n+m;k++)
if(k<=n&&st[k])
for(j=0;j<m;j++) s[k][j]*=-1;
else if(k>n&&st[k])
for(i=0;i<n;i++) s[i][k-n-1]*=-1;
sum=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{sum=sum+a[i][j]*s[i][j];
s[i][j]=1;
}
if(sum>mx) mx=sum;
}
void back(int k)
{for(int i=0;i<2;i++)
{st[k]=i;
if(k<m+n) back(k+1);
else schimb();
}
}
int main()
{ifstream f("flip.in");
ofstream g("flip.out");
int i,j;
f>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{f>>a[i][j];
s[i][j]=1;
mx+=a[i][j];
}
back(1);
g<<mx;
f.close();
g.close();
return 0;
}