Cod sursa(job #148956)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 5 martie 2008 03:49:40
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;
long long mat[20][20];
int m,n; // m-coloane, n-linii
int st[20];
long long smax;

void back(int k)
{    int i,j;
     if(k==n)   // actualizez suma
     {    int x,t;  
          for(t=0,i=0;i<n;i++)
          {    for(j=0,x=0;j<m;j++)  
                    x+=mat[i][j]*st[j];  
               t+=((x>0)?x:-x);  
          }  
          if(t>smax) smax=t;   
     } else
     {    st[k]=1;
	      back(k+1);
		  st[k]=-1;
	      back(k+1);
     }
}

int main()
{   int i,j;
    ifstream fin("flip.in");
    ofstream fout("flip.out");

    fin>>n>>m;
    for(i=0;i<n;i++)
  	     for(j=0;j<m;j++)
	          fin>>mat[i][j];

    back(0);
    fout<<smax;
    fin.close(); fout.close();
    return 0;
}