Pagini recente » Cod sursa (job #1235741) | Cod sursa (job #31253) | Cod sursa (job #1383087) | Cod sursa (job #1557375) | Cod sursa (job #1451)
Cod sursa(job #1451)
#include<fstream.h>
#include<iostream.h>
fstream f("flip.in",ios::in);
fstream g("flip.out",ios::out);
int n,m;
long a[20][20],l[20],c[20];
void citire()
{ f>>n>>m;
int i,j,sl=0,sc=0;
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
{f>>a[i][j]; sl+=a[i][j];}
l[i]=sl; sl=0;
}
for(j=1;j<=m;j++)
{ for(i=1;i<=n;i++)
sc+=a[i][j];
c[j]=sc;sc=0;
}
}
void suma()
{ int i,j,sl=0,sc=0;
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
sl+=a[i][j];
l[i]=sl; sl=0;
}
for(j=1;j<=m;j++)
{ for(i=1;i<=n;i++)
sc+=a[i][j];
c[j]=sc; sc=0;
}
}
int main()
{long ok=0,da,i,j,k;
citire();
while(!ok)
{ i=1;j=1;da=0;
while(i<n)
{ if (l[i]<0)
{ for(k=1;k<=m;k++)
a[i][k]*=-1;
da=1; break;
}
else
i++;
}
if(da)
suma();
j=1;
while(j<m)
{ if(c[j]<0)
{for(k=1;k<=n;k++)
a[k][j]*=-1;
break; }
else
j++;
}
if(i==n&&j==m)
ok=1;
if(!ok)
suma();
}
long s=0;
for(i=1;i<=n;i++)
s+=l[i];
g<<s;
f.close();
g.close();
return 0;
}