Pagini recente » Istoria paginii runda/post_oji | Cod sursa (job #2915629) | Cod sursa (job #1556402) | Cod sursa (job #3174258) | Cod sursa (job #1206458)
#include<iostream>
#include<fstream>
ifstream f("flip.in");
ofstream g("flip.out");
int max, s, j, i, n, m, a[100][100], v[1000],nr,b[100][100];
void sol()
{
nr++;
int suma = 0;
int p;
for (p = 1; p <= m + n; p++)
{if (v[p] == 2)v[p] = -1;
}
int c = 0;
for (i = 1; i <= n; i++)
{
c++; if (v[c]==-1)
for (j = 1; j <= m; j++)
a[i][j] = a[i][j] * v[c];
}
for (j = 1; j <= m; j++)
{
c++; if (v[c] == -1)
for (i = 1; i <= n; i++)
a[i][j] = a[i][j] * v[c];
}
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
suma = suma + a[i][j];
if (max < suma)
max = suma;
}
void back(int k)
{
int p;
for (p = 1; p <= 2; p++)
{
v[k] = p;
if (k == n + m)sol();
else back(k + 1);
}
}
int main()
{
nr = 0;
f >> n >> m;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
{
f >> a[i][j]; s = s + a[i][j];
}max = s;
back(1); g << max ;f.close();g.close();
return 0;
}