Pagini recente » Cod sursa (job #182706) | Cod sursa (job #991051) | Cod sursa (job #2427034) | Cod sursa (job #1239505) | Cod sursa (job #2559672)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, i, j;
int a[18][18];
int smax;
int v[18];
bool u[18];
void verif()
{
int s = 0, aux = 0;
for (int j=1; j<=m; j++)
{
aux = 0;
for (int i=1; i<=n; i++)
if (!u[i])
aux += a[i][j];
else
aux -= a[i][j];
if(aux < 0)
aux = -aux;
s += aux;
}
smax = max(smax, s);
}
void bkt(int k)
{
for (int i = v[k-1] + 1; i <= n; i++)
{
v[k] = i;
u[i] = 1;
verif();
if (k < n)
bkt(k + 1);
u[i] = 0;
}
}
int main()
{
f >> n >> m;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
f >> a[i][j];
smax += a[i][j];
}
bkt(1);
g << smax;
return 0;
}