Pagini recente » Cod sursa (job #359662) | Cod sursa (job #2555367) | Cod sursa (job #974221) | Cod sursa (job #2417235) | Cod sursa (job #1267155)
#include <fstream>
using namespace std;
const int NMAX= 16;
ifstream in( "flip.in" );
ofstream out( "flip.out" );
int a[NMAX+1][NMAX+1];
int N, M, ans;
int MOD( int x )
{
if ( x>0 ) return x;
else return -x;
}
void back_tracking( int x )
{
int s, fin= 0;
if( x==N+1 )
{
for( int j= 1; j<=M; ++j )
{
s= 0;
for( int i= 1; i<=N; ++i )
{
s+=a[i][j];
}
s= MOD(s);
fin+= MOD(s);
}
if( fin>ans ) ans= fin;
return;
}
back_tracking(x+1);
for( int i= 1; i<=M; ++i )
{
a[x][i]= -a[x][i];
}
back_tracking(x+1);
for( int i= 1; i<=M; ++i )
{
a[x][i]= -a[x][i];
}
}
int main( )
{
in >> N >> M;
for( int i= 1; i<=N; ++i )
{
for( int j= 1; j<=M; ++j )
{
in >> a[i][j];
}
}
back_tracking(1);
out << ans << '\n';
return 0;
}