Pagini recente » Cod sursa (job #765904) | Cod sursa (job #686709) | Cod sursa (job #670137) | Cod sursa (job #846876) | Cod sursa (job #796455)
Cod sursa(job #796455)
#include <fstream>
using namespace std;
int a[16][16],lines=0,columns=0,maxSum = 0;
ifstream f("flip.in");
ofstream g("flip.out");
void read()
{
int i,j;
f>>lines>>columns;
for(i=0;i<lines;i++)
for(j=0;j<columns;j++)
f>>a[i][j];
f.close();
}
int sum()
{
int i,j,linesSums[16],sum = 0;
for(i=0;i<lines;i++)
for(j=0;j<columns;j++)
linesSums[i]+=a[i][j];
for(i = 0; i < lines; i++)
if(linesSums[i] > 0)
sum+=linesSums[i];
else
sum+=(-1)*linesSums[i];
return sum;
}
int bt(int column)
{
if(column == (columns))
{
int currentSum = sum();
if(maxSum < currentSum)
maxSum = currentSum;
}
else
{
bt(column + 1);
for(int i = 0; i < lines; i++)
{
a[i][column] *= -1;
}
bt(column + 1);
}
return maxSum;
}
int main()
{
read();
g<<bt(0);
g.close();
getchar();
return 0;
}