Cod sursa(job #1160974)
Utilizator | Data | 30 martie 2014 22:21:29 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.25 kb |
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
int a, A, b, n, m, i, j, k, K, l, L, x[16][16];
A = 1;
b = 1;
k = 0;
K = 0;
ifstream fin("flip.in");
fin >> n >> m;
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 / A % 2 == 1 )
{
a = -a;
}
if ( l / b % 2 == 1 )
{
a = -a;
}
K += a;
b *= 2;
}
A *= 2;
b = 1;
}
A = 1;
if ( K > k )
{
k = K;
}
K = 0;
}
}
ofstream fout("flip.out");
fout << k;
fout.close();
return 0;
}