Cod sursa(job #1014530)

Utilizator mariacMaria Constantin mariac Data 22 octombrie 2013 20:48:43
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");
int mat[20][20];
bool sign[20];
int N, M, Suma = 0;

void rezolva() {
    int pmax, i, ii, j;
	pmax = 1 << M;
	for (i = 1; i < pmax; i++)
    {
		for (j = 0; j < M; j++) {
				if ((1 << j) & i)
					sign[j] = true;
				else
					sign[j] = false;
			}

	int SumTot = 0;
	for (ii = 0; ii < N; ii++)
        {
		int SumL = 0;
		for (j = 0; j < M; j++)
            {
			if (sign[j])
			SumL -= mat[ii][j];
                else
			SumL += mat[ii][j];
            }
			if (SumL > 0)
					SumTot += SumL;
				else
					SumTot -= SumL;
        }
        if (SumTot > Suma)
				Suma = SumTot;

    }
}


int main() {
    int i, j;
    fin>>N;
    fin>>M;
   for (i = 0; i < N; i++)
        for (j = 0; j < M; j++)
            fin>>mat[i][j];

    rezolva();
    fout<<Suma;
}