Pagini recente » Cod sursa (job #2407153) | Cod sursa (job #2369398) | Cod sursa (job #665925) | Cod sursa (job #1213171) | Cod sursa (job #1119475)
#include <fstream>
#include <iostream>
using namespace std;
int a[17][17], m, n, sl[17], x[17], MAX = -1000001, s;
void verif ()
{
s = 0;
for (int i = 0; i < m; ++i)
sl[i] = 0;
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
sl[i] += x[j] * a[i][j];
for (int i = 0; i < m; ++i)
{if(sl[i]>0) s+=sl[i];
else s+=-sl[i];}
if(s>MAX) MAX=s;
}
void Bktrk (int k)
{
for (int i = 0; i < 2; i++)
{
x[k] = i * 2-1;
if (k == n - 1)
verif ();
else
Bktrk (k + 1);
}
}
int main ()
{
ifstream f ("flip.in");
f >> m >> n;
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
f >> a[i][j];
f.close ();
Bktrk (0);
ofstream g ("flip.out");
g << MAX;
g.close();
return 0;
}