Pagini recente » Cod sursa (job #406853) | Cod sursa (job #513218) | Cod sursa (job #3280049) | Cod sursa (job #1340836) | Cod sursa (job #48352)
Cod sursa(job #48352)
#include<fstream.h>
long long int a[20][20],s,smax;
int n,m,x[20];
void coloane()
{
int i,j;
long long int sc;
for (i=1;i<+n;i++)
if (x[i]==1)
for (j=1;j<=m;j++)
a[i][j]=(-1)*a[i][j];
for (j=1;j<=m;j++)
{
sc=0;
for (i=1;i<=n;i++)
sc+=a[i][j];
if (sc<0)
for (i=1;i<=n;i++)
a[i][j]=(-1)*a[i][j];
}
}
int suma()
{
long long int ss;
ss=0;
int i,j;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
ss+=a[i][j];
return ss;
}
void back(int k)
{
int i;
for (i=0;i<=1;i++)
{
x[k]=i;
if (k==n)
{
coloane();
s=suma();
if (s>smax)
smax=s;
}
else
back(k+1);
}
}
int main()
{
ifstream in("flip.in");
in>>n>>m;
int i,j;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
in>>a[i][j];
in.close();
back(1);
ofstream out("flip.out");
out<<smax;
out.close();
return 0;
}