Pagini recente » Cod sursa (job #2614828) | Cod sursa (job #1181142) | Cod sursa (job #206505) | Cod sursa (job #1979303) | Cod sursa (job #880568)
Cod sursa(job #880568)
#include <iostream>
#include<fstream>
using namespace std;
int const N=20;
int rowSum=-100001,maxSum=0;
int i,j,n,m;/*n stands for height and m for width */
int ** matrix, * switches;
void sum(int col)
{
if(col==m+1)
{
for(i=0;i<n;i++)
{
rowSum=0;
for(j=0;j<m;j++)
rowSum+=(matrix[i][j]*switches[i]);
rowSum = rowSum > -rowSum ? rowSum : -rowSum;
}
if(rowSum>maxSum)
maxSum=rowSum;
}
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;
matrix=new int*[n];
switches=new int[n];
for(i=0;i<n;i++)
{
matrix[i]=new int[m];
for(j=0;j<m;j++)
in>>matrix[i][j];
switches[i]=1;
}
sum(1);
out<<maxSum;
for(i=0;i<n;i++)
delete[] matrix;
delete matrix;
}