Pagini recente » Cod sursa (job #1084247) | Cod sursa (job #891054) | Cod sursa (job #975637) | Cod sursa (job #1302725) | Cod sursa (job #80985)
Cod sursa(job #80985)
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int B[100];
int i,j,n,m;
int x[20][20];
int Max=-2000000000;
int Y[20][20];
void Linii();
void back()
{
int k=0;
B[k]=-1;
while(k>=0)
{
if(k==m)
{
Linii();
k--;
}
else
if (B[k]+1<2)
{
B[k]++;
k++;
B[k]=-1;
}
else
k--;
}
}
void Linii()
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
Y[i][j]=x[i][j];
for (i=0;i<m;i++)
if(B[i]==1)
for (j=0;j<n;j++)
Y[j][i]=-Y[j][i];
int St=0;
for(i=0;i<n;i++)
{
int s=0;
for(j=0;j<m;j++)
s=s+Y[i][j];
if(s<0)
St=St-s;
else
St=St+s;
}
if (St>Max) Max=St;
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
in>>n>>m;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
in>>x[i][j];
back();
out<<Max;
out.close();
in.close();
return 0;
}