Pagini recente » Cod sursa (job #230126) | Cod sursa (job #3275837) | Cod sursa (job #326555) | Cod sursa (job #2783401) | Cod sursa (job #215163)
Cod sursa(job #215163)
#include<fstream>
using namespace std;
int row[16];
int col[16];
long n,m,a[16][16];
long sum=0,max1;
void back(int k)
{
if(k==n) { for(int j=0;j<m;j++)
{ sum=0;
for(int l=0;l<n;l++)
{ sum+=a[l][j]*row[l];}
if (sum<0) col[j]=-1;
else col[j]=1;
}
sum=0;
for(int j=0;j<n;j++)
for(int l=0;l<m;l++)
sum+=a[j][l]*col[l]*row[j];
if (sum>max1) max1=sum;
}
else
{
row[k]=1;back(k+1);
row[k]=-1;back(k+1);
}
};
int main()
{
int i,j;
ifstream in("flip.in");
ofstream out("flip.out");
in>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
in>>a[i][j];
back(0);
out<<max1;
return 0;
}