Pagini recente » Cod sursa (job #2915345) | Cod sursa (job #1137697) | Cod sursa (job #268459) | Cod sursa (job #2417914) | Cod sursa (job #2509718)
#include <fstream>
using namespace std;
ifstream fi("flip.in");
ofstream fo("flip.out");
int n,m,A[20][20],maxi,S[20];
void sum()
{
int s1,s2=0;
for (int i=1; i<=n; i++)
{
s1=0;
for (int j=1; j<=m; j++)
s1=s1+S[j]*A[i][j];
if (s1<0)
s2=s2-s1;
else
s2=s2+s1;
}
if (s2>maxi)
maxi=s2;
}
void backtrack(int k)
{
if (k>m)
sum();
else
for (int l=-1; l<=1; l++)
if (l!=0)
{
S[k]=l;
backtrack(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];
backtrack(1);
fo<<maxi;
}