Pagini recente » Cod sursa (job #134671) | Cod sursa (job #971226)
Cod sursa(job #971226)
#include <fstream>
#include <string.h>
#include <algorithm>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
#define Dmax 17
#define Minim -256000001
int n,m,a[Dmax][Dmax],k,move[2*Dmax],st[2*Dmax];
long long S;
char viz[2*Dmax];
void init()
{
f>>n>>m;
for(short i=1;i<=n;i++)
for(short j=1;j<=m;j++) f>>a[i][j];
k=n+m;
memset(viz,0,k);
}
void solve(int st[2*Dmax])
{
long long s=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) s+=a[i][j]*st[i]*st[n+j];
S=max(S,s);
}
void back(int varf)
{
if(varf!=k+1)
{
st[varf]=-1; back(varf+1);
st[varf]=1; back(varf+1);
}
else
{
//g<<"(";
//for(short i=0;i<=k-1;i++) g<<st[i]<<",";
//g<<st[k]<<"),"<<'\n';
solve(st);
}
}
int main()
{
init();
S=Minim;
back(1);
g<<S<<'\n';
f.close();g.close();
return 0;
}