Cod sursa(job #2627785)

Utilizator ILikeitN Stef ILikeit Data 12 iunie 2020 16:43:05
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.94 kb
/*--------------------Jocul Flip--------------------*/
#include <fstream>

using namespace std;

int n = 0, m = 0;
int a[20][20];
ifstream fin("flip.in");
ofstream fout("flip.out");
int suma = 0, sumaTotala = 0;


int main(int argc, char const** argv)
{
//citesteDinFisier: 
	fin >> n >> m;
	for(int linii = 0; linii < n; linii++)
		for(int coloane = 0; coloane < m; coloane++)
			fin >> a[linii][coloane];

prelucreazaDatele:
	/*exploram fiecare coloana si incrementam suma cu numarul pe care il gasim*/
	for (int indexLinii = 0; indexLinii < n; indexLinii++)
	{
		for(int indexColoane = 0; indexColoane < m; indexColoane++)
		{
			suma += a[indexLinii][indexColoane]; 
		}

		/*daca suma este negativa, intoarcem comutatorul => suma va fi egala cu aceasta * -1*/
		if (suma < 0)
		{
			for(int indexColoane = 0; indexColoane < m; indexColoane++)
			{
				a[indexLinii][indexColoane] *= -1; 
			}
			// suma *= -1;
			suma = 0;
			sumaTotala = 0;
			goto prelucreazaDatele;
		}

		/*altfel, mergem mai departe, resetam suma si incrementam sumaTotala cu suma*/

		sumaTotala += suma;
		suma = 0;
	}

	for (int indexColoane = 0; indexColoane < m; indexColoane++)
	{
		for(int indexLinii = 0; indexLinii < n; indexLinii++)
		{
			suma += a[indexLinii][indexColoane]; 
		}

		/*daca suma este negativa, intoarcem comutatorul => suma va fi egala cu aceasta * -1*/
		if (suma < 0)
		{
			for(int indexLinii = 0; indexLinii < n; indexLinii++)
			{
				a[indexLinii][indexColoane] *= -1; 
			}
			// suma *= -1;
			suma = 0;
			sumaTotala = 0;
			goto prelucreazaDatele;		
		}

		/*altfel, mergem mai departe, resetam suma si incrementam sumaTotala cu suma*/

		sumaTotala += suma;
		suma = 0;
	}
	fout << sumaTotala/2;
	
	

	/*facem acelasi lucru si pentru linii*/

    return 0;
}

/*
f >> m >> n;
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      f >> a[i][j];
    }
  }
  */