Pagini recente » Cod sursa (job #2428941) | Cod sursa (job #489069) | Cod sursa (job #1281025) | Cod sursa (job #134938) | Cod sursa (job #2263384)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
const int N=20;
int a[N][N],n,m,smax=-10000000,semn[N];
int rez()
{
int S=0,S1=0,i,j;
for(j=1; j<=m; j++)
{
S=0;
for(i=1; i<=n; i++)
{
if(semn[i])
S=S-a[i][j];
else
S=S+a[i][j];
}
if(S<0)
S1=S1-S;
else
S1=S1+S;
}
return S1;
}
int main()
{
int i,j,S=0;
in>>n>>m;
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
in>>a[i][j];
/*if(a[i][j]>0)
Spl[i]=Spl[i]+a[i][j];
else
Snl[i]=Snl[i]+a[i][j];
*/
}
}
for(i=1; i<(1<<n); i++)
{
for(j=0; (1<<j)<=i; j++)
{
{
if((1<<j) & i)
semn[j+1]=1;
else
semn[j+1]=0;
}
}
//for(j=0; (1<<j)<=i;j++)
// out<<semn[j]<<" ";
//out<<rez()<<endl;
smax=max(rez(),smax);
}
out<<smax;
/*
for(i=1; i<=n; i++)
out<<Snl[i]<<" ";
out<<'\n';
for(i=1; i<=n; i++)
out<<Spl[i]<<" ";
out<<'\n';
for(i=1; i<=n; i++)
if(Snl[i]>Spl[i])
{
for(j=1; j<=m; j++)
a[i][j]=-a[i][j];
}
for(j=1; j<=m; j++)
{
for(i=1; i<=n; i++)
{
if(a[i][j]>0)
Spc[j]=Spc[j]+a[i][j];
else
Snc[j]=Snc[j]+a[i][j];
}
if(Snc[j]>Spc[j])
S=S-Snc[j];
else
S=S+Spc[j];
}
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
if(Snl[i]>Spl[i] && Snc[j]>Snc[j])
{
if(Snl[i]<Snc[j])
{
aux=Snl[i];
Snl[i]=Spl[i];
Spl[i]=aux;
Snc[j]=Snc[j]+(-a[i][j]);
}
else
{
aux=Snl[i];
Snl[i]=Spl[i];
Spl[i]=aux;
Snc[j]=Snc[j]+(-a[i][j]);
}
}
}
*/
return 0;
}