Pagini recente » Cod sursa (job #1273979) | Cod sursa (job #1812464) | Cod sursa (job #1884775) | Cod sursa (job #1966897) | Cod sursa (job #1012648)
#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;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
sum += rowT[i] * colT[j] * A[i][j];
}
}
if(sum > maxSum) maxSum = sum;
}
void colBT(int c)
{
if(c == m)
{
sumCheck();
}
else
{
colT[c] = 1;
colBT(c+1);
colT[c] = -1;
colBT(c+1);
}
}
void rowBT(int c)
{
if(c == n)
{
colBT(0);
}
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;
}