Pagini recente » Cod sursa (job #2217492) | Cod sursa (job #2518507) | Cod sursa (job #1800129) | Cod sursa (job #574904) | Cod sursa (job #905146)
Cod sursa(job #905146)
#include <fstream>
using namespace std;
int v[17][17], m, n, sl[17], x[17], MAX = -16000001, s, sol[17];
void Check ()
{
s = 0;
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
s += x[j] * v[i][j];
if (MAX < s)
{
MAX = s;
for (int i = 0; i < n; ++i)
sol[i] = x[i];
}
}
void Back (int k)
{
for (int i = 0; i < 2; ++i)
{
x[k] = -1 + i * 2;
if (k == n - 1)
Check ();
else
Back (k + 1);
}
}
int main ()
{
ifstream fin ("flip.in");
fin >> m >> n;
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
fin >> v[i][j];
fin.close ();
Back (0);
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
{
v[i][j] *= sol[j];
sl[i] += v[i][j];
}
s = 0;
for (int i = 0; i < m; ++i)
s += sl[i] > 0 ? sl[i] : -sl[i];
ofstream fout ("flip.out");
fout << s;
fout.close();
return 0;
}