Cod sursa(job #120681)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 6 ianuarie 2008 12:05:19
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<iostream.h>
#include<string.h>
#include<stdio.h>
FILE *f,*g;   long a[50][17],b[50][17],sa,sc,sat,sct,ps,c[50][17],d[50][17];
int main ()
{
f=fopen ("flip.in","r");
int n,m,i,j ,   l,k,i1,j1,i2,j2;
fscanf(f,"%d %d",&n,&m);  ps=0;
if(n>=1&&m<=16)
 {
 g=fopen("flip.out","w");
for(i=1;i<=n;i++)
{
 for (j=1;j<=m;j++)
 {
  fscanf(f,"%ld ",&a[i][j]);
  ps=ps+a[i][j];
  }
  fscanf(f,"\n");

  }
  sat=0;      sct=0;
for (k=1;k<=n;k++)
{
   i1=i=k;     sa=0;
 for (l=1;l<=m;l++)
 {
    j1=j=l;   b[k][l]=-a[i][j];
    if (b[k][l]>a[i][j]) { sa=sa+b[k][l]; c[i1][j1]=b[k][l];}
    else {sa=sa+a[i][j];  c[i1][j1]=a[i][j];}
 }
 sat=sat+sa;
}
for (j2=1;j2<=m;j2++)
{
  j1=j2; sc=0;
  for (i2=1;i2<=n;i2++)
  {
   i1=i2; d[i2][j2]=-c[i1][j1];
   if (c[i1][j1]>d[i2][j2]) sc=sc+c[i1][j1];
   else sc=sc+d[i2][j2];
  }
  sct=sct+sc;
}
if(ps>=sat&&ps>=sct) fprintf(g,"%d",ps);
if(sat>=ps&&sat>=sct) fprintf(g,"%d",sat);
if(sct>=sat&&sct>=ps) fprintf(g,"%d",sct);
}
fclose (f);
fclose (g);
return 0;
}