Pagini recente » Cod sursa (job #708769) | Cod sursa (job #1906460) | Cod sursa (job #587684) | Cod sursa (job #923809) | Cod sursa (job #525660)
Cod sursa(job #525660)
#include <fstream>
using namespace std;
long max(long a[], long x, long &z)
{
long m1=a[0];
for (long i=1;i<x;i++)
if (m1<a[i])
{
z=i;
m1=a[i];
}
return m1;
}
int main()
{
long int n,m,i,j,s=0,a[20][20],l[20],c[20],m1,m2,z1,z2;
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for (i=0;i<=n+1 || i<=m+1;i++)
{
l[i]=0;
c[i]=0;
}
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{
f>>a[i][j];
c[j]=c[j]-a[i][j];
l[i]=l[i]-a[i][j];
}
int k=1;
while (k)
{
k=0;
m1=max(c,m,z1);
m2=max(l,n,z2);
if (m1>m2)
{
if (m1>0)
{
for (i=0;i<n;i++)
{
a[i][z1]=-a[i][z1];
l[i]=l[i]-2*a[i][z1];
c[z1]=-c[z1];
}
k=1;
}
}
else
if (m2>0)
{
for (j=0;j<m;j++)
{
a[z2][j]=-a[z2][j];
c[j]=c[j]-2*a[z2][j];
l[z2]=-l[z2];
}
k=1;
}
}
for (i=0;i<n;i++)
s-=l[i];
g<<s;
}