Cod sursa(job #1586658)

Utilizator Iri00FII Irinel Manolache Iri00 Data 1 februarie 2016 15:51:43
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 1.1 kb
#include <stdio.h>

#define Nmax 16

int N,M,A[Nmax][Nmax],S_L[Nmax],S_C[Nmax],Semne[Nmax][Nmax];




void citire()
{int i,j;
 freopen("flip.in","r",stdin);

 scanf("%d%d",&N,&M);

 for(i = 1; i <= N; ++i)
    for(j = 1; j <= M; ++j)
        scanf("%d",&A[i][j]);


}

void rite()
{
 freopen("flip.out","w",stdout);
 int i,j,sum=0;
 for(i = 1; i <= N; ++i)
    for(j = 1; j <= M; ++j)
        sum=sum+(A[i][j]*Semne[i][j]);


 printf("%d ",sum);


}

void DetSum()
{int i,j;
 for(i=1;i<=N;++i)
  for(j=1;j<=M;++j)
     S_L[i]+=A[i][j];

 for(i=1;i<=M;++i)
  for(j=1;j<=N;++j)
    S_C[i]+=A[j][i];

}





void Bck()
{
 int i,j;
 for(i=1;i<=N;++i)
    if(-1*S_L[i] > S_L[i])
        for(j=1;j<=M;++j)
            Semne[i][j]*=-1;

 for(i=1;i<=M;++i)
    if(-1*S_C[i] > S_C[i])
        for(j=1;j<=N;++j)
            Semne[j][i]*=-1;


}
void InitializareSgnArry()
{
int i,j;
for(i=1;i<=N;++i)
  for(j=1;j<=M;++j)
    Semne[i][j]=1;
}

int main()
{
    citire();
    DetSum();
    InitializareSgnArry();
    Bck();
    rite();



    return 0;
}