Pagini recente » Cod sursa (job #874156) | Cod sursa (job #2156266) | Cod sursa (job #648228) | Cod sursa (job #2766013) | Cod sursa (job #1300572)
#include<iostream>
#include<fstream>
using namespace std;
long long A[17][17],n,m,s=0,s_max=0,linii[17],coloane[17];
void suma()
{
s=0;
for (unsigned i=1;i<=n;i++)
{
for (unsigned j=1;j<=m;j++)
{
long long numar=A[i][j];
if (linii[i]) numar=numar*(-1);
if (coloane[j]) numar=numar*(-1);
s+=numar;
}
}
if (s>s_max) s_max=s;
}
void bkt2()
{
unsigned k=1;
coloane[k]=-1;
while(k)
if (coloane[k]<1)
{
coloane[k]++;
if (k==m)
{
suma();
}
else
{
k++;
coloane[k]=-1;
}
}
else k--;
}
void bkt()
{
unsigned k=1;
linii[k]=-1;
while(k)
if (linii[k]<1)
{
linii[k]++;
if (k==n)
{
bkt2();
}
else
{
k++;
linii[k]=-1;
}
}
else k--;
}
int main()
{
ifstream f("flip.in");
ofstream f1("flip.out");
f>>n>>m;
for (unsigned i=1;i<=n;i++)
for (unsigned j=1;j<=m;j++)
f>>A[i][j];
bkt();
f1<<s_max<<"\n";
return 0;
}