Pagini recente » Cod sursa (job #77985) | Monitorul de evaluare | Atasamentele paginii Gcdseq | Cod sursa (job #1925118) | Cod sursa (job #3304875)
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int mat[17][17];
int cop[17][17];
int a[17];
int mxsum=-1000000000;
int n,m;
void rec(int x)
{
if(x>1)
{
for(int i=1; i<x; i++)
{
int y=a[i];
for(int j=1; j<=n; j++)
{
mat[j][y]=-mat[j][y];
}
}
int sum=0,sumtot=0;
for(int i=1; i<=n; i++)
{
sum=0;
for(int j=1; j<=m; j++)
{
sum=sum+mat[i][j];
mat[i][j]=cop[i][j];
}
sumtot+=abs(sum);
}
mxsum=max(mxsum,sumtot);
}
for(int i=a[x-1]+1; i<=n; i++)
{
a[x]=i;
rec(x+1);
}
}
int main()
{
in>>n>>m;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
in>>mat[i][j];
cop[i][j]=mat[i][j];
}
}
rec(1);
out<<mxsum;
return 0;
}