Pagini recente » Cod sursa (job #1466735) | Cod sursa (job #2391354) | Cod sursa (job #2604815) | Cod sursa (job #2807143) | Cod sursa (job #1007422)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
const int nmax=16;
int a[nmax+1][nmax+1];
bool u[nmax+1];
int n,m,sol;
void flip( 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;
flip(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];
}
}
flip(1);
fout<<sol;
return 0;
}