Pagini recente » Cod sursa (job #1471079) | Cod sursa (job #2085495) | Cod sursa (job #1823714) | Cod sursa (job #2057703) | Cod sursa (job #798853)
Cod sursa(job #798853)
#include<fstream>
using namespace std;
int a[17][17],i,j,n,m;
long long mx,p,s,k;
void swap_row(int x)
{
int i;
for (i=1;i<=m;i++)
a[x][i]*=-1;
}
long long sum_col(int x)
{
int i;
k=0;
for (i=1;i<=n;i++)
k+=a[i][x];
return k;
}
void back(int k)
{
if (k==n+1)
{
s=0;
int i;
for (i=1;i<=m;i++)
{
p=sum_col(i);
if (p<0)
p*=-1;
s+=p;
}
if (s>mx)
mx=s;
}
else
{
back(k+1);
swap_row(k);
back(k+1);
swap_row(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];
back(1);
g << mx;
return 0;
}