Pagini recente » Cod sursa (job #2162502) | Cod sursa (job #1121518) | Cod sursa (job #554257) | Cod sursa (job #3152372) | Cod sursa (job #2892976)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m;
long long answer = -1e9;
int table[20][20];
bool verif[20];
void Verif();
void Choose(int k);
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
fin >> table[i][j];
Choose(1);
fout << answer;
}
void Verif()
{
long long sum = 0;
for (int j = 1; j <= m; ++j)
{
long long A = 0, B = 0;
for (int i = 1; i <= n; ++i)
{
if (verif[i])
{
A -= table[i][j];
B += table[i][j];
}
else
{
A += table[i][j];
B -= table[i][j];
}
}
sum += max(A, B);
}
answer = max(answer, sum);
}
void Choose(int k)
{
if (k == n + 1)
{
Verif();
return;
}
verif[k] = true;
Choose(k + 1);
verif[k] = false;
Choose(k + 1);
}