Pagini recente » Cod sursa (job #694944) | Cod sursa (job #463589) | Cod sursa (job #1688025) | Cod sursa (job #843975) | Cod sursa (job #628596)
Cod sursa(job #628596)
#include <fstream>
using namespace std;
ifstream f ("flip.in");
ofstream g ("flip.out");
int a[17][17], v[34], n, m, Sum=0;
void aplicare()
{
int i;
for (i=1; i<=n; ++i)
{
if (v[i]==1)
{
for (int j=1; j<=m; ++j)
a[i][j]*=-1;
}
}
for (i=n+1; i<=n+m; ++i)
{
if (v[i]==1)
{
for (int j=1; j<=n; ++j)
a[j][i]*=-1;
}
}
}
void bk (int k)
{
if (k==n+m+1)
{
int S=0;
aplicare();
for (int i=1; i<=n; ++i)
for (int j=1; j<=m; ++j)
S+=a[i][j];
aplicare();
if (Sum<S)
Sum=S;
}
else
{
for (int i=0; i<=1; ++i)
{
v[k]=i;
bk(k+1);
}
}
}
int main ()
{
f>>n>>m;
for (int i=1; i<=n; ++i)
for (int j=1; j<=m; ++j)
f>>a[i][j];
bk(1);
g<<Sum;
g.close();
return 0;
}