Pagini recente » Cod sursa (job #265897) | Cod sursa (job #486442) | Cod sursa (job #336946) | Cod sursa (job #1855541) | Cod sursa (job #2043069)
#include <fstream>
using namespace std;
ifstream fi("flip.in");
ofstream fo("flip.out");
int N,M,rez;
int A[20][20],B[20][20];
int S[20],SC[20];
void g(int k)
{
int i,suma;
if (k==N)
{
for (int i=1;i<=N;i++)
for (int j=1;j<=M;j++)
if (S[i]==0)
B[i][j]=A[i][j];
else
B[i][j]=-A[i][j];
for (int i=1;i<=M;i++)
SC[i]=0;
for (int i=1;i<=N;i++)
for (int j=1;j<=M;j++)
SC[j]+=B[i][j];
suma=0;
for (int i=1;i<=M;i++)
if (SC[i]>=0)
suma=suma+SC[i];
else
suma=suma-SC[i];
if (suma>rez)
rez=suma;
}
else
for (i=0;i<=1;i++)
{
S[k+1]=i;
g(k+1);
}
}
int main()
{
fi>>N>>M;
for (int i=1;i<=N;i++)
for (int j=1;j<=M;j++)
fi>>A[i][j];
rez=-1;
g(0);
fo<<rez;
fi.close();
fo.close();
return 0;
}