Pagini recente » Cod sursa (job #1187025) | Arhiva de probleme | Cod sursa (job #1146952) | Cod sursa (job #1452092) | Cod sursa (job #1160949)
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
int a, n, m, i, j, k, K, l, L, x[16][16];
k = 0;
K = 0;
ifstream fin("flip.in");
fin >> n >> m;
if ( n > 16 || m > 16 )
{
return 0;
}
else
{
for ( i = 1; i <= n; i++ )
{
for ( j = 1; j <= m; j++ )
{
fin >> x[i][j];
k = x[i][j] + k;
}
}
fin.close();
for ( L = 0; L <= pow(2,n) - 1; L++ )
{
for ( l = 0; l <= pow(2,m) - 1; l++ )
{
for ( i = 1; i <= n; i++ )
{
for ( j = 1; j <= m; j++ )
{
a = x[i][j];
if ( L / (int)pow(2,i) % 2 == 1 )
{
a = -a;
}
if ( l / (int)pow(2,j) % 2 == 1 )
{
a = -a;
}
K += a;
}
}
if ( K > k )
{
k = K;
}
K = 0;
}
}
ofstream fout("flip.out");
fout << k;
fout.close();
return 0;
}
}