Pagini recente » Cod sursa (job #2632728) | Cod sursa (job #2211976) | Cod sursa (job #2024583) | Cod sursa (job #1593565) | Cod sursa (job #873440)
Cod sursa(job #873440)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("flip.in");
ofstream out("flip.out");
int const N=20;
bool plinie[N];
int n,m,maxim,mat[N][N];
int abs(int x)
{
if(x>0) return x;
return -x;
}
void calcul()
{
int total=0,coloana;
for(int j=1;j<=m;j++)
{
coloana=0;
for(int i=1;i<=n;i++)
if(plinie) coloana+=mat[i][j];
else coloana-=mat[i][j];
total+=abs(coloana);
}
if(total>maxim) maxim=total;
}
void back(int p)
{
if(p==n+1){calcul();return;}
plinie[p]=true; back(p+1);
plinie[p]=false; back(p+1);
}
int main()
{
in>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
in>>mat[i][j];
back(1); out<<maxim<<"\n";
return 0;
}