Pagini recente » Cod sursa (job #2046924) | Cod sursa (job #418263) | Cod sursa (job #2799766) | Cod sursa (job #54206) | Cod sursa (job #2281579)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n, m, a[18][18], sol[17], fr[17], smax = 0;;
void prelucrare()
{
int s = 0;
for(int i=1; i<=n; i++)
{
int sumlin = 0;
for(int j=1; j<=m; j++)
{
if(fr[j])
sumlin -= a[i][j];
else
sumlin += a[i][j];
}
s = s + abs(sumlin);
}
if(s>smax) smax = s;
}
void bkt(int p)
{
for(int i=sol[p-1]+1; i<=m; i++)
{
sol[p] = i;
fr[i] = 1;
prelucrare();
bkt(p+1);
fr[i] = 0;
}
}
int main()
{
in>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
in>>a[i][j];
bkt(1);
out<<smax;
return 0;
}