Pagini recente » Cod sursa (job #2917109) | Cod sursa (job #2975131) | Sandbox (cutiuţa cu năsip) | Cod sursa (job #1458119) | Cod sursa (job #1456465)
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int main()
{
int flip[16][16],m,n,i,j,c[16]={0},x=0,l[16]={0},sum=0;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>flip[i][j];
//pun intr-un vector suma nr de pe coloane
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
if(flip[i][j]<0)
x=x+1;
c[j]=x;
x=0;
}
//compar elem vectorului si inmultesc cu -1 coloana cu cele mai multe nr negative
for(j=1;j<=m;j++)
{for(i=1;i<=n;i++)
if(c[j]<=c[j+1])
flip[i][j+1]=flip[i][j+1]*(-1);}
//pun intr-un vector suma elemantelor pe linie
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
x=x+flip[i][j];
l[i]=x;
x=0;
}
//daca suma este mai mica ca zero inmultesc linia cu -1
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(l[i]<0)
flip[i][j]=flip[i][j]*(-1);
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
sum+=flip[i][j];
g<<sum;
f.close();
g.close();
return 0;
}