Pagini recente » Cod sursa (job #474991) | Cod sursa (job #3218884) | Cod sursa (job #2604781) | Cod sursa (job #35765) | Cod sursa (job #1002665)
#include <fstream>
#include <cmath>
using namespace std;
int n, l, a[17],b[17][17],maxi,j,m,i;
ifstream f("flip.in");
ofstream g("flip.out");
void init (int l) {
a[l] = -1;
}
int modul(int u)
{
if (u>0) return u;
else return -u;
}
bool succesor (int l) {
a[l]+=2;
return a[l] <= 1;
}
bool sol (int l) {
return l == n+1;
}
void constr () {
int i,s=0,s1;
for(j=1;j<=m;j++){s1=0;
for (i = 1; i <= n; i++)
s1+=b[i][j]*a[i];
s+=modul(s1);
}
if(s>maxi) maxi=s;
}
void bt (int l) {
init (l);
while (succesor(l))
if (sol(l))
constr();
else
bt(l+1);
}
int main () {
f >> n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
f>>b[i][j];
bt(1);
g<<maxi;
return 0;
}