Pagini recente » Cod sursa (job #3208648) | Cod sursa (job #2495375) | Cod sursa (job #45947) | Cod sursa (job #256566) | Cod sursa (job #882693)
Cod sursa(job #882693)
#include <iostream>
#include<fstream>
using namespace std;
int const N=20;
int rowSum=-1000001,interSum=0,maxSum=0;
int i,j,n,m;/*n stands for height and m for width */
int matrix[N][N], switches[N];
void sum(int col)
{
if(col==n+1)
{
interSum=0;
for(i=0;i<m;i++)
{
rowSum=0;
for(j=0;j<n;j++)
rowSum+=(matrix[j][i]*switches[j]);
if(rowSum>=0)
interSum+=rowSum;
else
interSum+=-rowSum;
}
if(interSum>maxSum)
maxSum=interSum;
return;
}
else
{
switches[col]=1;
sum(col+1);
switches[col]=-1;
sum(col+1);
}
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
in>>n>>m;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
in>>matrix[i][j];
switches[i]=1;
}
sum(1);
out<<maxSum;
in.close();
out.close();
return 0;
}