Cod sursa(job #369705)

Utilizator mihaimoldovanMihai Moldovan mihaimoldovan Data 29 noiembrie 2009 12:27:01
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include<fstream>
using namespace std;
int main()
{
 int a[17][17];
 int i,j,n,m;
 ifstream fin("flip.in");
 fin>>n>>m;
 for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
   fin>>a[i][j];
 fin.close();
 int s=0,s1=0;
 for(j=1;j<=m;j++)
  {
  for(i=1;i<=n;i++)
   if(a[i][j]<0)s+=a[i][j];
   else s1+=a[i][j];
  s*=-1; 
  if(s>s1)
    for(i=1;i<=n;i++)
       a[i][j]*=-1;
  s=0;s1=0;
  }
 for(i=1;i<=n;i++)
  {
  for(j=1;j<=m;j++)
   if(a[i][j]<0)s+=a[i][j];
   else s1+=a[i][j];
  s*=-1; 
  if(s>s1)
    for(j=1;j<=m;j++)
       a[i][j]*=-1;
  s=0;s1=0;
  }
 int suma=0;
 for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
   suma+=a[i][j];
//parcurg invers
 for(i=1;i<=n;i++)
  {
  for(j=1;j<=m;j++)
   if(a[i][j]<0)s+=a[i][j];
   else s1+=a[i][j];
  s*=-1; 
  if(s>s1)
    for(j=1;j<=m;j++)
       a[i][j]*=-1;
  s=0;s1=0;
  }
 s=0,s1=0;
 for(j=1;j<=m;j++)
  {
  for(i=1;i<=n;i++)
   if(a[i][j]<0)s+=a[i][j];
   else s1+=a[i][j];
  s*=-1; 
  if(s>s1)
    for(i=1;i<=n;i++)
       a[i][j]*=-1;
  s=0;s1=0;
  }
 int suma1=0;
 for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
   suma1+=a[i][j];
 FILE *fout=fopen("flip.out","w");
 if(suma1>suma2)
	fprintf(fout,"%d",suma1);	
 else fprintf(fout,"%d",suma2);	
 return 0;   
}