Cod sursa(job #2638243)

Utilizator ciprian_olaruCiprian Olaru ciprian_olaru Data 27 iulie 2020 16:05:58
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, m, mat[17][17];

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

	int iP = 0, jP = 0;
	while (true) {
		int tmp[17][17];
		for (int i = 0; i < n; ++i)
			for (int j = 0; j < m; ++j)
				tmp[i][j] = (i == iP || j == jP ? -mat[i][j] : mat[i][j]);

		int tmpSum = 0;
		for (int i = 0; i < n; ++i)
			for (int j = 0; j < m; ++j)
				tmpSum += tmp[i][j];

		if (tmpSum > sum) sum = tmpSum;

		++jP;
		if (jP == n) {
			jP = 0;
			++iP;
			if (iP == n) break;
		}
	}
	fout << sum;
}

/* --------------------METHOD---------------
int n, mat[100][100];
cin >> n;
for (int i = 0; i < n; ++i)
	for (int j = 0; j < n; ++j)
		mat[i][j] = 1;

int iP = 0, jP = 0;
cout << "\n";
while (true) {
	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < n; ++j)
			if (i == iP || j == jP) cout << "0 ";
			else cout << mat[i][j] << " ";
		cout << "\n";
	}
	cout << "\n";
	++jP;
	if (jP == n) {
		jP = 0;
		++iP;
		if (iP == n) break;
	}
}

*/