Pagini recente » Cod sursa (job #692333) | Cod sursa (job #2596390) | Cod sursa (job #3298691) | Cod sursa (job #1897086) | Cod sursa (job #523508)
Cod sursa(job #523508)
#include <fstream>
#define nmax 17
#define mmax 17
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,size_max,a[nmax][mmax];
bool s[nmax]; //true=1, false=-1
void read ()
{
f>>n>>m;
for (int i=1; i<=n; i++)
for (int j=1; j<=m; j++)
{
f>>a[i][j];
}
f.close ();
}
void solve (int k)
{
if (k<=n)
{
s[k]=true;
solve (k+1);
s[k]=false;
solve (k+1);
}
else
{
int size=0;
int suma_col;
for (int i=1; i<=m; i++)
{
suma_col=0;
for (int j=1; j<=n; j++)
suma_col+=((s[j]==true)?a[j][i]:-a[j][i]);
if (suma_col<0)
size-=suma_col;
else
size+=suma_col;
}
if (size>size_max)
size_max=size;
}
}
void output_result ()
{
g<<size_max;
g.close ();
}
int main ()
{
read ();
solve (1);
output_result ();
return 0;
}