Pagini recente » Cod sursa (job #14570) | Cod sursa (job #739204) | Cod sursa (job #2565830) | Cod sursa (job #190643) | Cod sursa (job #2030158)
#include <fstream>
using namespace std;
ifstream cin ("flip.in");
ofstream cout ("flip.out");
int a[20][20],a1[20][20],a2[20][20],a3[20][20],a4[20][20],a5[20][20],a6[20][20],a7[20][20],a8[20][20];
int main()
{
int n,m,n1,m1,n2,s1,s2,s3,s4,m2,h,i,j,i2,max=-300000000;
cin>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
cin>>a[i][j];
n1=(1<<(n/2+n%2))-1;
m1=(1<<(m/2+m%2))-1;
n2=n/2+n%2;
m2=m/2+m%2;
for (i=0;i<=n1;i++)
{
for (j=0;j<n;j++)
{
if (i&(1<<j))
{
for (h=1;h<=m;h++)
{
a1[j+1][h]=0-a[j+1][h];
a2[j+1][h]=0-a[j+1][h];
a3[j+1][h]=a[j+1][h];
a4[j+1][h]=a[j+1][h];
}
}
else
{
for (h=1;h<=m;h++)
{
a3[j+1][h]=0-a[j+1][h];
a4[j+1][h]=0-a[j+1][h];
a1[j+1][h]=a[j+1][h];
a2[j+1][h]=a[j+1][h];
}
}
}
for (i2=0;i2<=m1;i2++)
{
for (h=1;h<=n;h++)
{
for (j=1;j<=m;j++)
{
a5[h][j]=a1[h][j];
a6[h][j]=a2[h][j];
a7[h][j]=a3[h][j];
a8[h][j]=a4[h][j];
}
}
for (j=0;j<m;j++)
{
if (i2&(1<<j))
{
for (h=1;h<=n;h++)
{
a5[h][j+1]=a5[h][j+1]*(-1);
a7[h][j+1]=a7[h][j+1]*(-1);
}
}
else
{
for (h=1;h<=n;h++)
{
a6[h][j+1]=a6[h][j+1]*(-1);
a8[h][j+1]=a8[h][j+1]*(-1);
}
}
}
s1=s2=s3=s4=0;
for (h=1;h<=n;h++)
{
for (j=1;j<=m;j++)
{
s1+=a5[h][j];
s2+=a6[h][j];
s3+=a7[h][j];
s4+=a8[h][j];
}
}
if (s1>max)
max=s1;
if (s2>max)
max=s2;
if (s4>max)
max=s4;
if (s3>max)
max=s3;
}
}
cout<<max;
return 0;
}