Pagini recente » Cod sursa (job #2567578) | Cod sursa (job #339857) | Cod sursa (job #643967) | Cod sursa (job #1810313) | Cod sursa (job #1012660)
#include<fstream>
using namespace std;
#define N 17
long A[N][N];
short n, m, rowT[N], colT[N];
long long maxSum = 0;
ifstream f("flip.in");
ofstream g("flip.out");
void citire()
{
f>>n>>m;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
f>>A[i][j];
}
}
}
void sumCheck()
{
long long sum = 0;
long long colSum[N];
for(int i=0; i<m; i++)
{
colSum[i] = 0;
for(int j=0; j<n; j++)
{
colSum[i] += rowT[j] * A[j][i];
}
if(colSum[i] > 0) sum += colSum[i];
else sum += -colSum[i];
}
if(sum > maxSum) maxSum = sum;
}
void rowBT(int c)
{
if(c == n)
{
sumCheck();
}
else
{
rowT[c] = 1;
rowBT(c+1);
rowT[c] = -1;
rowBT(c+1);
}
}
void afisare()
{
g<<maxSum;
}
int main()
{
std::ifstream instead;
using namespace std;
using std::ifstream;
citire();
rowBT(0);
afisare();
f.close();
g.close();
return 0;
}