Pagini recente » Cod sursa (job #359593) | Cod sursa (job #2124214) | Cod sursa (job #1644403) | Cod sursa (job #563595) | Cod sursa (job #523751)
Cod sursa(job #523751)
#include<iostream.h>
#include<fstream.h>
long x[16][16];
int n,m;
int verif(int,int);
void flip(int,int);
int main()
{
int i,j;
long s=0;
ifstream In("flip.in");
In>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
In>>x[i][j];
In.close();
for(int b=1;b<=2;b++)
{
for(i=0;i<n;i++)
if( verif(i,20) ) flip(i,20);
for(j=0;j<m;j++)
if( verif(20,j) ) flip(20,j);
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
s+=x[i][j];
ofstream Out("flip.out");
Out<<s;
Out.close();
return 0;
}
int verif(int c,int l)
{
int cn=0,cp=0,k;
if(c<20)
{
for(k=0;k<m;k++)
if(x[c][k]<0) cn+=x[c][k];
else cp+=x[c][k];
}
else
{
for(k=0;k<n;k++)
if(x[k][l]<0) cn+=x[k][l];
else cp+=x[k][l];
}
if(cn+cp<0) return 1;
return 0;
}
void flip(int c,int l)
{
int k;
if(c<20)
for(k=0;k<m;k++)
x[c][k]=-x[c][k];
else
for(k=0;k<n;k++)
x[k][l]=-x[k][l];
}