Pagini recente » Cod sursa (job #2658065) | Cod sursa (job #585607) | Cod sursa (job #2573243) | Cod sursa (job #2462859) | Cod sursa (job #954194)
Cod sursa(job #954194)
#include<fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[17][17], b[17][17], v[17], n, m, i, j, sum, s, sol = -1;
void solve()
{
sum = 0;
for(i = 0; i < n; i++)
{
for(j = 0; j < m; j++)
{
if(v[i] == 1)
b[i][j] = -a[i][j];
else
b[i][j] = a[i][j];
sum += b[i][j];
}
}
for(i = 0; i < m; i++)
{
s = 0;
for(j = 0; j < n; j++)
{
s = s + b[j][i];
}
sum -= s;
s = (s > 0) ? s : 0 - s;
sum += s;
}
if(sum > sol)
sol = sum;
}
void back()
{
int k = 0;
while(k > -1)
{
if(k == n)
{
solve();
k--;
}
else
{
if(v[k] == 1)
k--;
else
{
v[k]++;
v[++k] = -1;
}
}
}
}
int main()
{
fin >> n >> m;
for(i = 0; i < n; i++)
{
v[i] = -1;
for(j = 0; j < m; j++)
fin >> a[i][j];
}
back();
fout << sol;
return 0;
}