Pagini recente » Cod sursa (job #801934) | Cod sursa (job #301328) | Cod sursa (job #2989081) | Cod sursa (job #2728563) | Cod sursa (job #2893572)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,x[1000],a[100][100]={1},p[1000][1000],k,k2,x2[1000],l,smax=-45555;
void matrice()
{ int i,j,s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(x2[i]==1)
a[i][j]=a[i][j];
else a[i][j]=-a[i][j];
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
//cout<<a[i][j]*p[i][j]<<" ",
s=s+a[i][j]*p[i][j];
// cout<<endl;
}
if(s>smax)
smax=s;
//cout<< endl;
}
void back2()
{
k2=1; x2[k2]=0;
while(k2>0)
if(x2[k2]<2)
{
x2[k2]++;
if(k2==n)
{ matrice();
}
else {k2++;
x2[k2]=0;}
} else k2--;
}
void linie()
{ int i,j;
for (i=1;i<=n;i++)
for(j=1;j<=m;j++)
{if(x[j]==1)
a[i][j]=1;
else a[i][j]=-1;
}
back2();
}
void back()
{
k=1;x[k]=0;
while(k>0)
if(x[k]<2)
{
x[k]++;
if(k==m)
{
// for(l=1;l<=m;l++)
// cout<< x[l]<<" ";
// cout<<endl;
linie();
}
else {k++;
x[k]=0;}
}
else k--;
}
int main()
{ int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>p[i][j];
back();
g<<smax;
return 0;
}