Pagini recente » Cod sursa (job #2400908) | Cod sursa (job #2946567) | Cod sursa (job #1545047) | Cod sursa (job #2240720) | Cod sursa (job #2623328)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, i, j;
int a[18][18];
int smax;
int v[18];
bool u[18];
void verif()
{
int s = 0, aux = 0;
for (int j = 1; j <= m; j++) {
aux = 0;
for (int i = 1; i <= n; i++)
if (!u[i])
aux += a[i][j];
else
aux -= a[i][j];
if(aux < 0)
aux = -aux;
s += aux;
}
smax = max(smax, s);
}
void bkt(int k)
{
for (int i = v[k - 1] + 1; i <= n; i++) {
v[k] = i;
u[i] = 1;
verif();
if (k < n)
bkt(k + 1);
u[i] = 0;
}
}
int main()
{
f >> n >> m;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++) {
f >> a[i][j];
smax += a[i][j];
}
bkt(1);
g << smax;
return 0;
}