Pagini recente » Cod sursa (job #1979828) | Cod sursa (job #2604564) | Cod sursa (job #1057488) | Cod sursa (job #1780614) | Cod sursa (job #1060718)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m;
long a[17][17],s;
void citire()
{int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)f>>a[i][j];
}
int c,d,linie[17],coloana[17];
void lin(long a[17][17],int&c)
{c=0;
for(int i=1;i<=n;i++)
{long s=0;
for(int j=1;j<=m;j++)s+=a[i][j];
if(s<0)linie[++c]=i;
}
}
void col(long a[17][17],int&d)
{d=0;
for(int j=1;j<=m;j++)
{long s=0;
for(int i=1;i<=n;i++)s+=a[i][j];
if(s<0)coloana[++d]=j;
}
}
void ignor_linie_coloana(long a[17][17],long&s)
{int h=1;
lin(a,c);
col(a,d);
s=0;
for(int i=1;i<=n;i++)
if(i==linie[h])h++;
else
{int p=1;
for(int j=1;j<=m;j++)
if(j==coloana[p])p++;
else s+=a[i][j];
}
}
void sum_tot(long a[17][17],long&s)
{int t=1,k=1;
do
{for(int j=1;j<=m;j++)
{s-=a[linie[t]][j];
a[linie[t]][j]*=(-1);
}
t++;
}while(t<=c);
do
{for(int i=1;i<=n;i++)s-=a[i][coloana[k]];
k++;
}while(k<=d);
}
int main()
{citire();
ignor_linie_coloana(a,s);
sum_tot(a,s);
g<<s;
return 0;
}