Pagini recente » Cod sursa (job #794512) | Cod sursa (job #2797883) | Cod sursa (job #1481519) | Cod sursa (job #82967) | Cod sursa (job #798847)
Cod sursa(job #798847)
#include<fstream>
using namespace std;
int a[17][17],i,j,n,m;
long long mx,p;
void swap_row(int x)
{
int i;
for (i=1;i<=m;i++)
a[x][i]*=-1;
}
void swap_col(int x)
{
int i;
for (i=1;i<=n;i++)
a[i][x]*=-1;
}
long long sum()
{
int i,j;
long long s=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
s+=a[i][j];
return s;
}
void back()
{
k++;
if (k==n+m)
{
p=sum();
if (p>mx)
mx=p;
}
else
{
back(k+1);
if (k<=n)
swap_row(k);
else swap_col(k-n);
back(k+1);
if (k>=n)
swap_row(k);
else swap_col(k-n);
}
k--;
}
int main()
{
ifstream f("flip.in");
ofstream g("flip.out");
f >> n >> m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
f >> a[i][j];
k=0;
back();
g << mx;
return 0;
}