Pagini recente » Cod sursa (job #1781949) | Cod sursa (job #2567545) | Cod sursa (job #2223693) | Cod sursa (job #2673318) | Cod sursa (job #2150943)
#include <iostream>
#include <fstream>
using namespace std;
int SumRMax(int* ar, int n, int m)
{
int i, j;
int sum=0;
int sc;
for(i=0;i<n;i++)
{
sc = 0;
for(j=0;j<m;j++) sc += ar[i*m+j];
if(sc>0) sum += sc;
else sum -= sc;
}
return sum;
}
int SumCMax(int* ar, int n, int m, int column)
{
int i;
if(column == m) return SumRMax(ar, n, m);
int sc1 = SumCMax(ar, n, m, column+1);
for(i=0;i<n;i++) ar[i*m+column] = -ar[i*m+column];
int sc2 = SumCMax(ar, n, m, column+1);
if(sc1>sc2) return sc1;
else return sc2;
}
int main()
{
int m, n;
ifstream fin("flip.in");
fin>>n;
fin>>m;
int* ar = new int[n*m];
int i,j;
for(i=0;i<n;i++)for(j=0;j<m;j++) fin>>ar[i*m+j];
int maxsum = SumCMax(ar, n, m, 0);
ofstream fout("flip.out");
fout<<maxsum;
return 0;
}