Pagini recente » Cod sursa (job #2424322) | Cod sursa (job #476456) | Cod sursa (job #1391161) | Cod sursa (job #279308) | Cod sursa (job #2198782)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int flip[17][17], q[17], i, j, n, m, s;
void bk (int k)
{
int c, x;
if (k == m)
{
for (c = 0, i = 1; i < n; i++)
{
for (x = 0, j = 1; j < m; j++)
{
x = x + flip[i][j]*q[j];
if (x > 0)
c = c + x;
else
c = c - x;
}
}
if (c > s)
s = c;
}
else
{
q[k] = 1;
bk(k + 1);
q[k] = -1;
bk (k + 1);
}
}
int main()
{
f>>n>>m;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
f>>flip[i][j];
bk(0);
g<<s;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
cout<<flip[i][j]<<" ";
f.close();
g.close();
}