Cod sursa(job #161622)

Utilizator andySeserman Andrei Stefan andy Data 18 martie 2008 16:56:12
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.56 kb
#include<fstream.h>

ifstream fin("flip.in");
ofstream fout("flip.out");

int a[17][17];
int i, n, m, j, aux;

int main()
{
    fin>>n>>m;
    for(i = 1;i<=n;i++)
	    for(j = 1;j<=m;j++)
		    fin>>a[i][j];
    fin.close();
    int gata = 0, sumap, suman;
    while(gata == 0)
    {
		   suman = 0;
		   sumap = 0;
		   gata = 1;
		   for(i = 1;i<=n;i++)
		   {
			   sumap = 0;
			   suman = 0;
			   for(j = 1;j<=m;j++)
				   if( a[i][j] < 0)
				   {
					aux = a[i][j];
					aux = aux * -1;
					suman = suman + aux;
				   }
				   else             sumap = sumap + a[i][j];
			   if(sumap < suman)
			   {
					for(j = 1;j<=m;j++)
						a[i][j] = a[i][j] * -1;
					gata = 0;
			   }
		   }
    }
    gata = 0;
    while(gata == 0)
    {
		   suman = 0;
		   sumap = 0;
		   gata = 1;
		   for(j = 1;j<=m;j++)
		   {
			   sumap = 0;
			   suman = 0;
			   for(i = 1;i<=n;i++)
			   {
				   if( a[i][j] < 0)
				   {
					aux = a[i][j];
					aux = aux * -1;
					suman = suman + aux;
				   }
				   else             sumap = sumap + a[i][j];
			   }
			   if(sumap < suman)
			   {
					for(i = 1;i<=n;i++)
						a[i][j] = a[i][j] * -1;
					gata = 0;
			   }
		   }
    }
    int suma = 0;
    for(i = 1;i<=n;i++)
    {
	     //fout<<endl;
	    for(j = 1;j<=m;j++)
	    {
		    suma = suma + a[i][j];
		    //fout<<a[i][j]<<" ";
	    }
    }
    fout<<suma;
    fout.close();
    return 0;
}