Cod sursa(job #47863)

Utilizator CromozoneXCearnau Dan-Cristian CromozoneX Data 4 aprilie 2007 10:00:04
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.12 kb
#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE *in=fopen("flip.in","r"),*out=fopen("flip.out","w");
	int n,m;
   fscanf(in,"%ld",&n);
   fscanf(in,"%ld",&m);
   long int i,j,l=-1,s,s1,rez=0,k=0,mat[5][5],rez1=0;
   for (i=0;i<n;i++)
   	for (j=0;j<m;j++)
      	fscanf(in,"%ld",&mat[i][j]);
 // Lini //
      while (k<n)
      {
      	s=0;
         s1=0;
		   for (i=k,j=0;j<m;j++)
		      s+=mat[i][j];	// Calculez suma liniei
		   for (i=k,j=0;j<m;j++)
		   	s1+=mat[i][j]*l;	// Calculez suma liniei inversate
		   if (s1>s)	// Compar sumele
		   {
		   	for (i=k,j=0;j<n;j++)
		   		mat[i][j]=mat[i][j]*l;
         }
      	k++;
      }
      k=0;
 // Coloana //
		while (k<m)
      {
      	s=0;
         s1=0;
         for (j=k,i=0;i<n;i++)
         	s+=mat[i][j];
         for (j=k,i=0;i<n;i++)
         	s1+=mat[i][j]*l;
         if (s1>s)
         {
         	for (j=k,i=0;i<n;i++)
            	mat[i][j]=mat[i][j]*l;
         }
         k++;
      }

 // Calculez suma1 //
    /*  for (i=0;i<n;i++)
      	{
      	for (j=0;j<m;j++)
         	fprintf(out,"%ld ",mat[i][j]);
         fprintf(out,"\n");
         }
      fprintf(out,"\n");
    */
      for (i=0;i<n;i++)
      	for (j=0;j<m;j++)
         	rez+=mat[i][j];
      fprintf(out,"%ld\n",rez);

 // Coloana //
 k=0;
 rez1=0;
      while (k<m)
      {
      	s=0;
         s1=0;
         for (j=k,i=0;i<n;i++)
         	s+=mat[i][j];
         for (j=k,i=0;i<n;i++)
         	s1+=mat[i][j]*l;
         if (s1>s)
         {
         	for (j=k,i=0;i<n;i++)
            	mat[i][j]=mat[i][j]*l;
         }
         k++;
      }
k=0;
 // Linie //
      while (k<n)
      {
      	s=0;
         s1=0;
		   for (i=k,j=0;j<m;j++)
		      s+=mat[i][j];	// Calculez suma liniei
		   for (i=k,j=0;j<m;j++)
		   	s1+=mat[i][j]*l;	// Calculez suma liniei inversate
		   if (s1>s)	// Compar sumele
		   {
		   	for (i=k,j=0;j<n;j++)
		   		mat[i][j]=mat[i][j]*l;
         }
      	k++;
      }
 	for (i=0;i<n;i++)
   	for (j=0;j<m;j++)
      	rez1+=mat[i][j];
   fprintf(out,"%ld ",rez1);
      return 0;
}