Pagini recente » Cod sursa (job #3155434) | Cod sursa (job #979942) | Cod sursa (job #2826865) | Cod sursa (job #711834) | Cod sursa (job #2601381)
#include <iostream>
#include <fstream>
#include <queue>
#define ll long long
#define inf 1000000005
using namespace std;
ll n,m,r,c;
priority_queue <ll> q;
ll M[17][17];
ll st[17];
ll v[17];
ll Max=-inf;
void Check()
{
ll i,j;
ll s=0,s1,s2;
for (j=1;j<=m;j++)
{
s1 = s2 = 0;
for (i=1;i<=n;i++)
if (st[i]==0)
s1 +=M[i][j],
s2 -=M[i][j];
else
s1 -=M[i][j],
s2 +=M[i][j];
s += max(s1 , s2);
}
Max = max(Max , s);
}
void Back(ll i)
{
if (i>n)
{
Check();
}
else
{
st[i]=1;
Back(i+1);
st[i]=0;
Back(i+1);
}
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
in>>n>>m;
ll i,j;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
in>>M[i][j];
Back(1);
out<<Max<<"\n";
out.close();
in.close();
return 0;
}