Pagini recente » Cod sursa (job #1704963) | Cod sursa (job #2489499) | Cod sursa (job #2432857) | Cod sursa (job #219552) | Cod sursa (job #1699493)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,a[16][16];
long ma=0;
void verificare(int a[16][16])
{
int s=0,i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s=s+a[i][j];
if(s>ma)
ma=s;
}
void bkt3()
{
int i,j,q,l;
for(q=1;q<=m;q++)
{
for(l=1;l<=n;l++)
a[l][q]=a[l][q]*(-1);
verificare(a);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
a[i][j]=a[i][j]*(-1);
verificare(a);
for(j=1;j<=m;j++)
a[i][j]=a[i][j]*(-1);
}
for(l=1;l<=n;l++)
a[l][q]=a[l][q]*(-1);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
a[i][j]=a[i][j]*(-1);
verificare(a);
for(j=1;j<=m;j++)
a[i][j]=a[i][j]*(-1);
}
}
void bkt2(int k2)
{
int i,j;
if(k2<=2)
{
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
a[i][j]=a[i][j]*(-1);
verificare(a);
}
bkt2(k2+1);
}
}
void bkt1(int k)
{
ofstream g("flip.out");
int i,j;
if(k<=2)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
a[i][j]=a[i][j]*(-1);
bkt2(1);
}
bkt1(k+1);
}
else
g<<ma;
}
int main()
{
int i,j;
ifstream f("flip.in");
f>>n;
f>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
f>>a[i][j];
ma=ma+a[i][j];
}
bkt3();
bkt2(1);
bkt1(1);
return 0;
}