Cod sursa(job #502000)

Utilizator Mastertrap21Danceanu Madalin Mastertrap21 Data 17 noiembrie 2010 12:19:40
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.44 kb
#include<stdio.h>
using namespace std;
int main()
{
FILE* in = fopen("flip.in", "r");
FILE* out = fopen("flip.out", "w");
long a[17][17], b[17][17], v[17][17]= { 0 }, x[17][17] = { 0 }, sum1, sum2, suma, sumb;
short i, j, n, m;

fscanf(in, "%d %d", &n, &m);
for(i=1;i<=n;i++)
 {
  for(j=1;j<=m;j++) { fscanf(in,"%d",&a[i][j]); b[i][j]=a[i][j];}
 }

for(i=1;i<=n;i++)
{
 sum1=0;
 for(j=1;j<=m;j++) sum1=sum1+a[i][j];
 if(sum1<0)
 {
  for(j=1;j<=m;j++) v[i][j]=a[i][j]*-1;
 }
 else
 {
  for(j=1;j<=m;j++) { if(v[i][j]==0) v[i][j]=a[i][j]; }
 }
}



for(j=1;j<=m;j++)
{
 sum2=0;
 for(i=1;i<=n;i++) sum2=sum2+a[i][j];
 if(sum2<0)
 {
  for(i=1;i<=n;i++) v[i][j]=a[i][j]*-1;
 }
 else
 {
  for(i=1;i<=n;i++) { if(v[i][j]==0) v[i][j]=a[i][j]; }
 }
}


for(j=1;j<=m;j++)
{
 sum2=0;
 for(i=1;i<=n;i++) sum2=sum2+a[i][j];
 if(sum2<0)
 {
  for(i=1;i<=n;i++) x[i][j]=a[i][j]*-1;
 }
 else
 {
  for(i=1;i<=n;i++) { if(x[i][j]==0) x[i][j]=a[i][j]; }
 }
}


for(i=1;i<=n;i++)
 {
  for(j=1;j<=m;j++) a[i][j]=b[i][j];
 }

for(i=1;i<=n;i++)
{
 sum1=0;
 for(j=1;j<=m;j++) sum1=sum1+a[i][j];
 if(sum1<0)
 {
  for(j=1;j<=m;j++) x[i][j]=a[i][j]*-1;
 }
 else
 {
  for(j=1;j<=m;j++) { if(x[i][j]==0) x[i][j]=a[i][j]; }
 }
}

suma=0;
sumb=0;
for(i=1;i<=n;i++)
 {
  for(j=1;j<=m;j++) { suma=suma+v[i][j]; sumb=sumb+x[i][j]; }
 }

if(suma>=sumb) fprintf(out,"%d",suma);
else fprintf(out,"%d",sumb);
return 0;
}