Pagini recente » Cod sursa (job #69756) | Cod sursa (job #2866081) | Cod sursa (job #1242704) | Cod sursa (job #3235462) | Cod sursa (job #3278356)
#include <bits/stdc++.h>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n,m,l[20],c[20],st[20],sc[20],b[20][20],a[20][20],smax,x;
void verif()
{
int suma=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
b[i][j]=a[i][j];
for(int j=1;j<=m;j++)
sc[j]=c[j];
for(int i=1; i<=n; i++)
{
// if(!st[i])
// suma+=l[i];
// else
// suma+=(l[i]*(-1));
if(st[i])
{
for(int j=1; j<=m; j++)
{
sc[j]+=2*(-1*a[i][j]);
b[i][j]=-b[i][j];
}
}
}
for(int j=1; j<=m; j++)
{
if(sc[j]<0)
suma+=abs(sc[j]);
else
suma+=sc[j];
}
if(suma>smax)
smax=suma;
}
void back(int k)
{
if(k>n)
verif();
else
{
for(int i=0; i<=1; i++) ///0 nu fac nimic la 1 inm cu -1
{
st[k]=i;
back(k+1);
}
}
}
int main()
{
in>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
{
in>>a[i][j];
l[i]+=a[i][j];
c[j]+=a[i][j];
}
smax=0;
back(1);
out<<smax;
return 0;
}