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