Pagini recente » Cod sursa (job #2111390) | Cod sursa (job #270754) | Cod sursa (job #522451) | Istoria paginii admin/test | Cod sursa (job #767212)
Cod sursa(job #767212)
#include<fstream>
using namespace std;
ifstream fcin("flip.in");
ofstream fcout("flip.out");
int n,m,a[17][17],s[17],ma,sum,sol=-1;
void read()
{
fcin>>n>>m;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
fcin>>a[i][j];
a[i][0]+=a[i][j];
sum+=a[i][j];
}
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
a[0][j]+=a[i][j];
}
void prel(int k)
{
int x;
if(k<=n)
{
x=sum;
for(int i=1;i<=k;i++)
x=x-2*a[s[i]][0];
if(x<0)
x=-x;
if(x>sol)
sol=x;
}
if(k<=m)
{
x=sum;
for(int i=1;i<=k;i++)
x=x-2*a[0][s[i]];
if(x<0)
x=-x;
if(x>sol)
sol=x;
}
}
void back(int k)
{
if(k>ma)
return;
for(int i=s[k-1]+1;i<=ma;i++)
{
s[k]=i;
prel(k);
back(k+1);
}
}
int main()
{
read();
ma=n;
if(m>ma)
ma=m;
back(1);
fcout<<sol;
}