Pagini recente » Cod sursa (job #2205951) | Cod sursa (job #1745886) | Cod sursa (job #3294754) | Cod sursa (job #3183892) | Cod sursa (job #1298776)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int Mat[16][16];
int N,M;
int flip_linie[16];
int max_sum=-1000000000;
void flip_coloane()
{
int suma_totala=0;
for(int j=0;j<M;j++)
{
int s=0;
for(int i=0;i<N;i++)
{
if(flip_linie[i]==1)
s=s-Mat[i][j];
else
s=s+Mat[i][j];
}
if(s<0)
suma_totala+=-s;
else
suma_totala+=s;
}
max_sum=max(max_sum,suma_totala);
}
void rec(int poz)
{
if(poz==N)
flip_coloane();
else
{
flip_linie[poz]=0;
rec(poz+1);
flip_linie[poz]=1;
rec(poz+1);
}
}
int main()
{
in >> N >> M;
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
in >> Mat[i][j];
}
}
rec(0);
out<<max_sum;
return 0;
}