Pagini recente » Cod sursa (job #362149) | Cod sursa (job #3176428) | Cod sursa (job #448102) | Cod sursa (job #709498) | Cod sursa (job #1886602)
#include <bits/stdc++.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int a[17][17];
short n,m;
long long s,smin;
void citire()
{
f>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
f>>a[i][j],s+=a[i][j];
smin=s;
}
void verif(char q, short w)
{
long long s=0;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
s+=a[i][j];
if(s<smin)
{
if(q=='c')
for(short i=1;i<=n;++i)
a[i][w]*=-1;
else
for(short i=1;i<=m;++i)
a[w][i]*=-1;
}
else
smin=s;
}
void BKTR(char q, short i)
{
if(q=='c' && i<=m)
{
for(short j=1;j<=n;++j)
a[j][i]*=-1;
verif(q,i);
if(i<m) BKTR(q,i+1);
else BKTR('r',1);
}
else if(q=='r' && i<=n)
{
for(short j=1;j<=m;++j)
a[i][j]*=-1;
verif(q,i);
BKTR(q,i+1);
}
}
int main()
{
citire();
BKTR('c',1);
g<<smin;
}