Pagini recente » Cod sursa (job #1414932) | Cod sursa (job #943673) | Cod sursa (job #2047121) | Cod sursa (job #2077610) | Cod sursa (job #3285058)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m, v[20][20], st[20];
long long sol = -1e6 * 20 * 20;
void bestsum( int k)
{
int a[20][20], i, j;
for ( i = 1; i <= n; ++i )
for ( j = 1; j <= m; ++j )
a[i][j] = v[i][j];
for ( i = 1; i <= k; ++i )
for ( j = 1; j <= m; ++j )
a[st[i]][j] = -a[st[i]][j];
long long rasp = 0;
for ( j = 1; j <= m; ++j )
{
long long s = 0;
for ( i = 1; i <= n; ++i )
s += a[i][j];
if ( s < 0 )
s = -s;
rasp += s;
}
sol = max(sol, rasp);
}
void Back( int k )
{
int i;
for ( i = st[k - 1] + 1; i <= n; ++i )
{
st[k] = i;
bestsum( k );
Back(k + 1);
}
}
int main()
{
fin >> n >> m;
int i, j;
for ( i = 1; i <= n; ++i )
for ( j = 1; j <= m; ++j )
fin >> v[i][j];
Back(1);
fout << sol << '\n';
return 0;
}