Pagini recente » Cod sursa (job #2318190) | Cod sursa (job #2109511) | Cod sursa (job #2128936) | Cod sursa (job #2896122) | Cod sursa (job #711384)
Cod sursa(job #711384)
#include <fstream>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int m, n, a[17][17], c=1, sign[17], maxim=0;
int sumcol(int j)
{
int i, s=0;
for(i=1;i<=m;i++)
s+=sign[i]*a[i][j];
return s;
}
void sumtot()
{
int ts=0, j;
for(j=1;j<=n;j++)
ts+=abs(sumcol(j));
if(ts>maxim)
maxim=ts;
}
void backtrack(int k)
{
if(k>m)
sumtot();
else
{
sign[k]=1;
backtrack(k+1);
sign[k]=-1;
backtrack(k+1);
}
}
int main()
{
ifstream f("flip.in");
ofstream g("flip.out");
int i, j;
f>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
f>>a[i][j];
backtrack(1);
g<<maxim;
return 0;
}