Pagini recente » Cod sursa (job #2541265) | Cod sursa (job #2282782) | Cod sursa (job #1751400) | Cod sursa (job #326877) | Cod sursa (job #1740260)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
void bkt(int i, int j);
int n, m, a[20][20], i, j, s, lin[20], col[20], mx;
int main()
{
f>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
f>>a[i][j];
bkt(1,1);
g<<mx<<'\n';
g.close();
return 0;
}
void bkt(int i, int j)
{
int k;
if (i==n+1 && j==m+1)
if (s>mx) mx=s;
if (i<n+1)
{
for (k=1;k<=m;k++)
s=s+a[i][k];
bkt(i+1, j);
for (k=1;k<=m;k++)
s=s-a[i][k];
for (k=1;k<=m;k++)
a[i][k]=-a[i][k];
for (k=1;k<=m;k++)
s=s+a[i][k];
bkt(i+1, j);
for (k=1;k<=m;k++)
s=s-a[i][k];
for (k=1;k<=m;k++)
a[i][k]=-a[i][k];
}
if (j<m+1)
{
bkt(i, j+1);
for (k=1;k<=n;k++)
a[k][j]=-a[k][j];
for (k=1;k<=n;k++)
s=s+2*a[k][j];
bkt(i, j+1);
for (k=1;k<=n;k++)
s=s-2*a[k][j];
for (k=1;k<=n;k++)
a[k][j]=-a[k][j];
}
}