Cod sursa(job #479189)

Utilizator ovydewParvu Ovidiu ovydew Data 23 august 2010 11:52:05
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
// Jocul Flip

#include <fstream>

using namespace std;

int main() {
	ifstream fin("flip.in");
	ofstream fout("flip.out");
	int n, m, suma_lin1, suma_lin2, suma_col1, suma_col2, suma;
	fin >> n >> m;
	int** matrice = new int*[n];
	for (int i=0; i<n; i++)
		matrice[i] = new int[m];
	for (int i=0; i<n*m; i++) 
		fin >> matrice[i/m][i%m];
	for (int i=0; i<n; i++) {
		suma_lin1 = 0;
		suma_lin2 = 0;
		for (int j=0; j<m; j++) {
			suma_lin1 += matrice[i][j];		
			suma_lin2 += -matrice[i][j];		
		}
		if (suma_lin2 > suma_lin1) {
			for (int j=0; j<m; j++) {
				matrice[i][j] = -matrice[i][j];
			}
		}
	}
	for (int i=0; i<m; i++) {
		suma_col1 = 0;
		suma_col2 = 0;
		for (int j=0; j<n; j++) {
			suma_col1 += matrice[j][i];		
			suma_col2 += -matrice[j][i];		
		}
		if (suma_col2 > suma_col1) {
			for (int j=0; j<n; j++) {
				matrice[j][i] = -matrice[j][i];
			}
		}
	}
	suma = 0;
	for (int i=0; i<n*m; i++) 
		suma += matrice[i/m][i%m];
	fout << suma;
	fin.close();
	fout.close();
	return 0;
}