Pagini recente » Cod sursa (job #691070) | Cod sursa (job #945833) | Cod sursa (job #2362008) | Cod sursa (job #2956086) | Cod sursa (job #57625)
Cod sursa(job #57625)
#include <fstream>
#define MAX 17
using namespace std;
int a[MAX][MAX], x[MAX];
int m, n;
int smax = 0;
void Back(int k);
int main()
{
int i, j;
ifstream fin("flip.in");
fin >> n >> m;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
{
fin >> a[i][j];
smax += a[i][j];
}
fin.close();
Back(1);
ofstream fout("flip.out");
fout << smax;
fout.close();
return 0;
}
void Back(int k)
{
for (int i = 0; i <= 1; i++)
{
x[k] = i;
if (k == m)
{
int j, k, t, s = 0;
for (k = 1; k <= n; k++)
{
t = 0;
for (j = 1; j <= m; j++)
{
if (x[j]) t += -a[k][j];
else t += a[k][j];
}
if (t < 0) s += -t;
else s += t;
}
if (s > smax) smax = s;
}
else if (k+1 <= m) Back(k+1);
}
}