Pagini recente » Cod sursa (job #2962349) | Cod sursa (job #573125) | Cod sursa (job #3126391) | Cod sursa (job #2086038) | Cod sursa (job #160283)
Cod sursa(job #160283)
#include <cstdio>
#include <cstdlib>
int main( int argc, char *argv[] )
{
int mat[16][16]
FILE *fin = fopen( "flip.in", "r" );
int n, m;
fscanf( fin, "%d %d", &n, &m );
for ( int i = 0; i < n; i++ )
for ( int j = 0; j < m; j++ )
if ( n < m )
fscanf( fin, "%d", &mat[i][j] );
else
fscanf( fin, "%d", &mat[j][i] );
fclose( fin );
if ( n > m )
{
int t = n;
n = m;
m = t;
}
int nr = 1 << n;
int max = -1000;
for ( int i = 0; i < nr; i++ )
{
int semn[16];
int ii = i;
for ( int j = 0; j < n; j++ )
{
semn[16] = 1 - (( ii & 1 ) << 1);
ii >>= 1;
}
int val = 0;
for ( int j = 0; j < m; j++ )
{
int inter = 0
for ( int k = 0; k < n; k++ )
inter += mat[k][j] * semn[k];
if ( inter < 0 )
inter = -inter;
}
val += inter;
if ( max < val )
max = val;
}
FILE *fout = fopen( "flip.out", "w" );
fprintf( fout, "%d\n", max );
fclose( fout );
return 0;
}
//Cod Gray
//0000 - initial
//0001 - 0 0
//0011 - 1 1
//0010 - 0 2
//0110 - 2 3
//0111 - 0 4
//0101 - 1 5
//0100 - 0 6
//1100 - 4 7