Pagini recente » Cod sursa (job #3128543) | Cod sursa (job #1590725) | Cod sursa (job #2133802) | Cod sursa (job #2718645) | Cod sursa (job #2640469)
#include <fstream>
#include <iostream>
#include <string.h>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int s_lin[17], s_col[17];
int n, m, S, S_max, S0, v[17][17];
int main()
{
int i, j, l, c;
fin >> n >> m;
for(i = 1; i<=n; i++)
for(j = 1; j<= m; j++)
{
fin >> v[i][j];
S0 += v[i][j];
s_lin[i] += v[i][j];
s_col[j] += v[i][j];
}
S_max = S0;
for (i = 0; i <= (1 << n); i++)
for (j = 0; (1 << j) <= i; j++)
{
S = S0;
for (l = 0; l<= n-1; l++)
if(((i >> l) & 1) > 0)
S -= 2 * s_lin[l+1];
for (c = 0; c <= m-1; c++)
{
if(((j >> c) & 1) > 0)
{
S -= 2 * s_col[c+1];
for (l = 0; l<= n-1; l++)
if(((i >> l) & 1) > 0)
S+= 4*v[l+1][c+1];
}
}
if(S > S_max)
S_max = S;
}
fout << S_max;
return 0;
}