Pagini recente » Cod sursa (job #370385) | Borderou de evaluare (job #36698) | Cod sursa (job #1850925) | Cod sursa (job #1748681) | Cod sursa (job #1747694)
#include <iostream>
#include <fstream>
using namespace std;
int N, M;
int solve_me(unsigned long int t[20][20], int n, int m)
{
if(m > M)
{
int sum = 0;
int total = 0;
for(int i = 1; i <= N; i++)
{
for(int j = 1; j <= M; j++)
sum += t[i][j];
if(sum < 0)
{
sum = -sum;
}
total += sum;
sum = 0;
}
return total;
}
int res1 = solve_me(t, n, m+1);
for(int i = 1; i <= N; i++)
t[i][m] = -t[i][m];
int res2 = solve_me(t, n, m+1);
return max(res1, res2);
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
unsigned long int table[20][20] = {0};
in >> N >> M;
for(int i = 1; i <= N; i++)
{
for(int j = 1; j <= M; j++)
{
in >> table[i][j];
}
}
out << solve_me(table, N, 1);
in.close();
out.close();
return 0;
}