Cod sursa(job #161629)

Utilizator popdanyPop Daniela popdany Data 18 martie 2008 17:04:51
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.82 kb
#include <fstream.h>      
  
#define DimMax 17   
#define DimMin -1000000   
  
ofstream fout("flip.out");   
  
int s,V[DimMax][DimMax], smax = DimMin, op[DimMax], n, m;   
  
void citire();   
void surse();   
void bck(int);   
  
int main()   
{   
    citire();   
    bck(1);   
  
    fout<<smax<<"\n";   
    fout.close();   
    return 0;   
}   
  
void citire()   
{   
    ifstream fin("flip.in");   
  
    fin>>m>>n;   
  
    for (int i=1; i<=m; i++)   
      for (int  j=1; j<=n; j++)   
          fin>>V[i][j];   
  
    fin.close();   
}   
  
void bck(int k)   
{   
    if (k==n+1) surse();   
    else    
    {   
       op[k] = 1; bck(k+1);   
       op[k] = -1; bck(k+1);   
    }   
}   
  
void surse()   
{     
    int i,j,x;    
  
    for(i=1,s=0;i<=m;i++){             
        for(j=1,x=0;j<=n;j++)                  
            x+=op[j]*V[i][j];   
        if(x>0) s+=x;     
        else s+=-x;     
    }     
    if(s>smax) smax=s;   
  
}  
#include <fstream.h>

//using namespace std;

#define DimMax 17
#define DimMin -1000000

ofstream fout("flip.out");

int s,V[DimMax][DimMax], smax = DimMin, op[DimMax], n, m;

void citire();
void surse();
void bck(int);

int main()
{
	citire();
	bck(1);

	fout<<smax<<"\n";
	fout.close();
	return 0;
}

void citire()
{
	ifstream fin("flip.in");

	fin>>m>>n;

	for (int i=1; i<=m; i++)
	  for (int  j=1; j<=n; j++)
		  fin>>V[i][j];

	fin.close();
}

void bck(int k)
{
    if (k==n+1) surse();
	else 
	{
	   op[k] = 1; bck(k+1);
	   op[k] = -1; bck(k+1);
	}
}

void surse()
{  
    int i,j,x; 

	for(i=1,s=0;i<=m;i++){          
		for(j=1,x=0;j<=n;j++)               
			x+=op[j]*V[i][j];
        if(x>0) s+=x;  
        else s+=-x;  
    }  
    if(s>smax) smax=s;

}