Cod sursa(job #2542199)

Utilizator lutusilviu ionut lutu Data 9 februarie 2020 18:15:25
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#define _CRT_SECURE_NO_WARNINGS
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int v[32];
int main()
{
	int n, m, a[16][16], i, j, suma = 0,N,q=1,aux,max;
	f >> n >> m;
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= m; j++)
		{
			f >> a[i][j];
			suma += a[i][j];
		}
	}
	max = suma;
	N = n + m;
	while (q)
	{
		for (i = 1; i <= N; i++)
		{
			if (v[i] == 0)
			{
				v[i] = 1;
				break;
			}
			v[i] = 0;
		}
		q = 0;
		for (i = 1; i <= N; i++)
		{
			if (v[i] == 0)
				q = 1;
		}
		aux = suma;
		for (i = 1; i <= n; i++)
		{
			for (j = 1; j <= m; j++)
			{
			
				if (v[i] == 1)
				{
			
					aux =aux- 2 * a[i][j];
					a[i][j] *= -1;
				}
				if (v[N - j + 1] == 1)
				{
					aux = aux - 2 * a[i][j];
					a[i][j] *= -1;

				}
					
			}
		}
		for (i = 1; i <= n; i++)
		{
			for (j = 1; j <= m; j++)
			{
				if (v[i] == 1 )
				{
					a[i][j] *= -1;
				}
				if(v[N - j + 1] == 1)
					a[i][j] *= -1;
			}
		}
		if (max < aux)
			max = aux;
	}
	g << max;
}