Pagini recente » Cod sursa (job #3282078) | Cod sursa (job #2056294) | Cod sursa (job #2532766) | Cod sursa (job #1465743) | Cod sursa (job #1725568)
#include <iostream>
#include <fstream>
using namespace std;
int n, m;
long a[100][17];
static long long b = 0;
void Citire();
void backtracking(int k);
int main()
{
Citire();
backtracking(1);
ofstream out("flip.out");
out<<b;
return 0;
}
void backtracking(int k)
{
long long sum=0;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
sum += a[i][j];
if(sum > b)
b = sum;
if(k <= m)
{
for(int i=1; i<=n; i++)
a[i][k] = -a[i][k];
backtracking(k+1);
}
if(k <= n)
{
for(int j=1; j<=m; j++)
a[k][j] = -a[k][j];
backtracking(k+1);
}
}
void Citire()
{
ifstream in("flip.in");
in>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
in>>a[i][j];
in.close();
}