Cod sursa(job #2642488)

Utilizator Blexer24Radu Alexandru Blexer24 Data 15 august 2020 16:14:11
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <iostream>
#include <fstream>
using namespace std;


int maxFlip(int mat[18][18], int n, int m) {
	int sum = 0;
	int aux1 = 0;
	int aux2 = 0;

	for (int i = 0; i < n; i++) {

		for (int j = 0; j < m; j++) {
			aux1 += mat[i][j];
			aux2 += -mat[i][j];
		}

		if (aux1 < aux2) {
			for (int j = 0; j < m; j++) {
				mat[i][j] = -mat[i][j];
			}
		}

		aux1 = aux2 = 0;
	}

	for (int j = 0; j < m; j++) {
		
		for (int i = 0; i < n; i++) {
			aux1 += mat[i][j];
			aux2 += -mat[i][j];
		}

		if (aux1 < aux2) {
			for (int i = 0; i < n; i++) {
				mat[i][j] = -mat[i][j];
			}
		}

		aux1 = aux2 = 0;
	}

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			sum += mat[i][j];
		}
	}

	return sum;
}


int main() {
	int n, m;
	int mat[18][18];

	// Citire
	ifstream inf("flipIn.TXT");
	inf >> n;
	inf >> m;

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			inf >> mat[i][j];
		}
	}

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			cout << mat[i][j] << " ";
		}
		cout << endl;
	}

	// Testare
	int sum = maxFlip(mat, n, m);
	cout << "Rezultatul este: " << sum;

	ofstream outf("fisierOut.TXT");
	outf << sum;

	return 0;
}