Pagini recente » Cod sursa (job #1141688) | Cod sursa (job #598676) | Cod sursa (job #588018) | Cod sursa (job #2629802) | Cod sursa (job #1108647)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, x,a[20][20], v[50], b;
void comutare()
{
int i, j;
for(i=1;i<=n;i++)
if (v[i]==1)
for(j=1;j<=m;j++)
a[i][j]=-a[i][j];
for (i=n+1;i<=n+m;i++)
if(v[i]==1)
for(j=1;j<=n;j++)
a[j][i-n]=-a[j][i-n];
}
void calcul(int k)
{
int l=0,i,j;
comutare();
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
l=l+a[i][j];
comutare();
if (l > x)
x = l;
}
void Back(int k)
{
for(int i=0;i<=1;i++)
{
v[k]=i;
if(k==m+n)
calcul(k);
else
Back(k+1);
}
}
int main()
{
int i,j;
f>>n>>m;
for (i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
Back(1);
g << x;
return 0;
}