Pagini recente » Cod sursa (job #1336971) | Cod sursa (job #1132435) | Cod sursa (job #2450638) | Cod sursa (job #353484) | Cod sursa (job #1356963)
#include <iostream>
#include <fstream>
using namespace std;
int a[17][17];
bool p1[17],p2[17];
int n,m,maxim=-999999;
void eval()
{
int i,j,curent=0;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
if (p1[i]^p2[j])
{
curent-=a[i][j];
}
else
{
curent+=a[i][j];
}
}
}
if (curent>maxim)
{
maxim=curent;
}
}
void rez2(int k)
{
if (k>m)
{
eval();
}
else
{
p2[k]=0;
rez2(k+1);
p2[k]=1;
rez2(k+1);
}
}
void rez1(int k)
{
if (k>n)
{
rez2(1);
}
else
{
rez1(k+1);
p1[k]=1;
rez1(k+1);
}
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
int i,j;
in>>n;
in>>m;
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
{
in>>a[i][j];
}
}
rez1(1);
out<<maxim;
}