Pagini recente » Cod sursa (job #2636395) | Cod sursa (job #2908122) | Cod sursa (job #952722) | Cod sursa (job #32665) | Cod sursa (job #520773)
Cod sursa(job #520773)
// infoarena: problema/flip
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n,m,x[20][20],i,j,st[20],maxim=-1<<29;
void back(int k)
{
if(k == m)
{
int s=0,t;
for(i=1; i<=n; i++)
{
t=0;
for(j=1; j<=m; j++)
if(st[j])
t += x[j][i];
else
t -= x[j][i];
s += max(-t, t);
}
if(s > maxim)
maxim = s;
return;
}
st[k] = 0;
back(k+1);
st[k] = 1;
back(k+1);
}
int main()
{
in>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
in>>x[i][j];
back(1);
out<<maxim;
}