Pagini recente » Cod sursa (job #471708) | Cod sursa (job #148131) | Cod sursa (job #1263672) | Cod sursa (job #1032529) | Cod sursa (job #1007437)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
const int nmax=16;
int n, m;
int a[nmax+1][nmax+1];
int sol;
bool u[nmax+1];
void back( int x )
{
if (x==n+1) {
int s= 0;
for ( int j= 1; j<=m; ++j ) {
int s_aux= 0;
for ( int i= 1; i<=n; ++i ) {
if ( u[i]==0 ) {
s_aux+= a[i][j];
} else {
s_aux-= a[i][j];
}
}
if ( s_aux>0 ) {
s+= s_aux;
} else {
s-= s_aux;
}
}
if ( s>sol ) {
sol= s;
}
} else {
for ( int i= 0; i<2; ++i ) {
u[x]= i;
back(x+1);
}
}
}
int main( )
{
fin>>n>>m;
for ( int i= 1; i<=n; ++i ) {
for ( int j= 1; j<=m; ++j ) {
fin>>a[i][j];
}
}
back(1);
fout<<sol;
return 0;
}