Cod sursa(job #861412)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 21 ianuarie 2013 14:58:36
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;

int a[17][17];
int b[17][17];
int n, m, i, j, sumacurenta, sum, v[17], maxim;

int main() {
	ifstream fin("flip.in");
	ofstream fout("flip.out");
	fin>>n>>m;
	
	
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++) {
			fin>>a[i][j];
		}
	while (v[0] == 0) {
		
		for (i=1;i<=n;i++)
			for (j=1;j<=m;j++)
				b[i][j] = a[i][j];
		
		
		
		for (i=1;i<=m;i++)
			if (v[i] == 1) {
				// coloana i din matrice o inmultesc cu -1;
				for (j=1;j<=n;j++)
					b[j][i] = -a[j][i];
			}
		sumacurenta = 0;
		for (i=1;i<=n;i++) {
			sum = 0;
			for (j=1;j<=m;j++)
				sum += b[i][j];
			if (sum > 0)
				sumacurenta += sum;
			else
				sumacurenta -= sum;
		}
		
		if (sumacurenta > maxim)
			maxim = sumacurenta;
		
		i = m;
		while (v[i] == 1) {
			v[i] = 0;
			i--;
		}
		v[i] = 1;
	}

	fout<<maxim<<"\n";
		
	return 0;
}