Pagini recente » Cod sursa (job #2091882) | Cod sursa (job #1338908) | Cod sursa (job #2603894) | Cod sursa (job #2748668) | Cod sursa (job #2853294)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int m,n;
int v[100];
int A[100][100];
int s_l=0,s_c=0;
int q=0;
void citire()
{
for(int i=1; i<=n; ++i)
for (int j=1; j<=m; ++j)
{
fin>>A[i][j];
}
}
void mod_linie(int q)
{
q=q-1;
for(int i=1; i<=m; i++)
{
A[q][i]=-A[q][i];
}
}
void mod_coloana(int q)
{
q=q-1;
for(int i=1; i<=n; i++)
{
A[i][q]=-A[i][q];
}
}
void afisare()
{
int i,j;
i=v[1];
j=v[2];
s_l=s_l+A[i][j];
s_c=s_c+A[j][i];
if(i==n&&j==n)
{
if(s_l<0)
{
mod_linie(q);
}
if(s_c<0)
{
mod_coloana(q);
}
s_l=0,s_c=0;
}
}
bool ok(int k)
{
for(int i=1; i<k; i++)
return true;
}
bool sol(int k)
{
return k==2;
}
void bkt(int k)
{
for(int i=1; i<=n; ++i)
{
v[k]=i;
if(ok(k))
{
if(sol(k))
{
afisare();
}
else
{
q++;
if(1<q)
{
if(s_l<0)
{
mod_linie(q);
}
if(s_c<0)
{
mod_coloana(q);
}
s_l=0,s_c=0;
}
bkt(k+1);
}
}
}
}
int main()
{
fin>>n>>m;
citire();
bkt(1);
int S=0;
for(int i=1; i<=n; ++i)
{
for (int j=1; j<=m; ++j)
{
S=S+A[i][j];
}
}
fout<<S;
return 0;
}