Pagini recente » Borderou de evaluare (job #1036135) | Cod sursa (job #1749459) | Cod sursa (job #1961214) | Cod sursa (job #2489742) | Cod sursa (job #993758)
Cod sursa(job #993758)
#include<iostream>
#include<fstream>
using namespace std;
int m,n;
void sumas (long x[20][20]);
void sumaj (long x[20][20]);
void sl (long i,long x[20][20]);
void sc (long i,long x[20][20]);
int main ()
{
ifstream f("flip.in");
ofstream g("flip.out");
long i,x[20][20],j,s=0,c=1;
f>>n>>m;
for(i=0;i<n;i++)
for(j=1;j<=m;j++) f>>x[i][j];
sumas(x);
sumaj(x);
while (c)
{ c=0;
for(i=0;i<n;i++) if (x[i][0]<0) {x[i][0]=-x[i][0];
sl(i,x);
c=1;}
for(i=1;i<=m;i++)if (x[n][i]<0) {x[n][i]=-x[n][i];
sc(i,x);
c=1;}
}
g<<s;
f.close();g.close();
return 0;
}
void sumas (long x[20][20])
{
for(int i=0;i<n;i++)
{
x[i][0]=0;
for(int j=1;j<=m;j++) x[i][0]+=x[i][j];
}
}
void sumaj (x[20][20])
{
for(int j=1;j<=m;j++)
{
x[n][j]=0;
for(int i=0;i<n;i++) x[n][j]+=x[i][j];
}
}
void sl (long i,long x[20][20])
{
for(int j=1;j<=m;j++) {x[i][j]=-x[i][j];
x[n][j]+=2*x[i][j];};
}
void sc(long i,long x[20][20])
{
for(int j=0;j<n;j++) {x[j][i]=-x[j][i];
x[j][0]+=2*x[j][i];};
}