Cod sursa(job #171250)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 3 aprilie 2008 22:02:16
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
//Flip

#include <fstream>
using namespace std;

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

int A[17][17],n,m,VS[17],A2[17][17],A3[17][17],Max;
void flip(int k){
	int i,j;
	if (k-1==n){
      	for (i=1;i<=n;i++)
               	for (j=1;j<=m;j++){
                     	A2[i][j]=A[i][j]*VS[i];
                        A2[i][j]+=A2[i-1][j];
                  }
            for (i=1;i<=m;i++){
               	if (A2[n][i]<0) A2[n][i]*=-1;
                  A2[n][i]+=A2[n][i-1];
            }
            if (A2[n][m]>Max) Max=A2[n][m];
	} else {
      VS[k]=1;
      flip(k+1);
      VS[k]=-1;
      flip(k+1);
	}




}

int main(){
	int i,j;
	fin>>n>>m;
      for (i=1;i<=n;i++)
         	for (j=1;j<=m;j++)
               	fin>>A[i][j];

      flip(1);
      fout<<Max;
      fout.close();
}