Pagini recente » Cod sursa (job #2334335) | Cod sursa (job #2251172) | Cod sursa (job #1403470) | Cod sursa (job #35593) | Cod sursa (job #2116969)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,ma[20][20],l[20],c[20],sMax,sc[20];
void calcS(int l[], int c[])
{
int s=0,nr;
for(int i=1; i<=m; ++i)sc[i]=0;
for(int i=1; i<=n; ++i)
for(int j=1; j<=m; ++j)
{
nr=ma[i][j];
if(l[i]==1)nr*=-1;
sc[j]+=nr;
}
for(int i=1; i<=m; ++i)
{
if(sc[i]<0)s+=sc[i]*-1;
else s+=sc[i];
}
if(s>sMax)sMax=s;
}
void calcl(int lin,int l[], int c[])
{
l[lin]=1;
for(int i=lin; i<=n; ++i)
{
// for(int i=1;i<=n;++i)g<<l[i]<<" ";
// g<<endl;
calcS(l,c);
calcl(i+1,l,c);
}
l[lin]=0;
}
int main()
{
f>>n>>m;
for(int i=1; i<=n; ++i)
for(int j=1; j<=m; ++j)f>>ma[i][j],sc[j]+=ma[i][j];
for(int i=1; i<=n; ++i)calcl(i,l,c);
g<<sMax;
return 0;
}