Pagini recente » Cod sursa (job #536284) | Cod sursa (job #107062) | Cod sursa (job #1547335) | Cod sursa (job #2604221) | Cod sursa (job #2529826)
#include <iostream>
#include<fstream>
using namespace std;
int x4[15], n4;
int i,j, N,M, a[17][17];
long suma2, summax , sump, sumn;
ifstream f("flip.in");
ofstream g ("flip.out");
void citire()
{
f>>M>>N;
for(i=0; i<M; i++)
for(j=0; j<N; j++)
f>>a[i][j];
}
void BackRec4(int k)
{
int p;
for(p=0; p<=1; p++)
{
x4[k]=p;
if (k==M)
{
suma2=0;
for(int w=0; w<N; w++) /// calculare modul suma elemente pozitive si modul de suma elemente negative, pe fiecare coloana
{
sumn=sump=0; /// initializare suma el poz/neg cu 0
for(j=0; j<M; j++)
if(x4[j]==1)
sump+=a[j][w]*(-1);
else
sump+=a[j][w];
if(sump>=0) /// calcularea sumei elementelor matricei
suma2+=sump;
else
suma2-=sump;
}
if(suma2>summax) /// actualizare suma maxima
summax=suma2;
}
else BackRec4(k+1);
}
}
int main()
{
citire();
for(i=0;i<M;i++) /// initializare suma maxima
for(j=0;j<N;j++)
summax+=a[i][j];
BackRec4(0);
g<<summax;
return 0;
}