Pagini recente » Cod sursa (job #768156) | Cod sursa (job #1507822) | Cod sursa (job #624630) | Cod sursa (job #630422) | Cod sursa (job #796457)
Cod sursa(job #796457)
#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]={0},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();
return 0;
}