Pagini recente » Cod sursa (job #1827263) | Cod sursa (job #3249400) | Cod sursa (job #668503) | Cod sursa (job #1919691) | Cod sursa (job #2218447)
#include <bits/stdc++.h>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
const int MAX = 16;
int Matrix[MAX+1][MAX+1];
int Maxim;
int N,M;
int F[MAX+1];
inline void Update()
{
int NR = 0;
for ( int j = 1 ; j <= M ; ++j)
{
int C = 0;
for ( int i = 1; i <= N ; ++i)
C += Matrix[i][j] * F[i];
NR = NR + abs(C);
Maxim = max(Maxim,NR);
}
}
void Back(int K)
{
if(K <= N)
{
F[K] = 1;
Back(K+1);
F[K] = -1;
Back(K+1);
}
else Update();
}
int main()
{
in >> N >> M;
for ( int i = 1 ; i <= N ; ++i)
for ( int j = 1; j <= M ; ++j)
in >> Matrix[i][j];
Back(1);
out << Maxim;
}