Pagini recente » Cod sursa (job #195695) | Cod sursa (job #638710) | Cod sursa (job #99468) | Cod sursa (job #3163603) | Cod sursa (job #902722)
Cod sursa(job #902722)
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int m, n;
int H[17][17], v[17];
int bestSum = -0x7fffffff;
void bt(int k)
{
long long sum, aux;
if (k == n+1)
{
sum = 0;
for (int i = 1; i <= m; i++)
{
aux = 0;
for (int j = 1; j <= n; j++)
aux = aux + H[j][i]*v[j];
if (aux < 0)
sum = sum - aux;
else
sum = sum + aux;
}
if (bestSum < sum)
bestSum = sum;
return;
}
v[k] = 1;
bt(k+1);
v[k] = -1;
bt(k+1);
}
int main()
{
in >> n >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
in >> H[i][j];
bt(1);
out << bestSum;
return 0;
}