Cod sursa(job #148953)

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

void back(int k)
{    int i,j;
     if(k==n)   // actualizez suma
     {   int s,sl;
	     for(i=0,s=0;i<n;i++)
	     {    for(j=0,sl=0;j<m;j++)
  	          sl+=st[j]*mat[i][j];
	          s+=abs(sl);
	     }
	     if(s>smax) smax=s;
     } 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;
}