Pagini recente » Cod sursa (job #2406144) | Cod sursa (job #2097459) | Cod sursa (job #647958) | Cod sursa (job #1506845) | Cod sursa (job #2002116)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,a[18][18];
bool semn[18];
long long smax=-int(2e9);
long long int sol()
{
long long int smaxi=0,sum=0;
for (int i=1;i<=n;i++)
{
sum=0;
for (int j=1;j<=m;j++)
if (semn[j])
sum+=a[i][j];
else
sum-=a[i][j];
if (sum<0)
smaxi-=sum;
else
smaxi+=sum;
}
return smaxi;
}
inline void backtracking(int k)
{
if (k > m)
{
int sum=sol();
if (sum > smax) smax=sum;
return;
}
semn[k]=false;
backtracking(k+1);
semn[k]=true;
backtracking(k+1);
}
int main()
{
fin >> n >> m;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
fin >> a[i][j];
backtracking(1);
fout << smax;
return 0;
}