Cod sursa(job #2206521)

Utilizator Florin77Nacu Florin Florin77 Data 22 mai 2018 20:18:18
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<iostream>
#include<fstream>
using namespace std;

int suma(int a[100][17], int n, int m)
{
	int s = 0;
	for (int p = 1; p <= n; p++)
		for (int q = 1; q <= m; q++)
			s = s + a[p][q];
	return s;
}

int main()
{
	ifstream f("flip.in");
	int n, m, a[100][17];
	f >> n >> m;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= m; j++)
			f >> a[i][j];
	f.close();
	bool sw;
	int s1, s2;
	do
	{
		sw = false;
		for (int i = 1; i <= n; i++)
		{
			s1 = suma(a, n, m);
			for (int j = 1; j <= m; j++)
				a[i][j] = a[i][j] * (-1);
			s2 = suma(a, n, m);
			if (s2 > s1)
				sw = true;
			else
				for (int j = 1; j <= m; j++)
					a[i][j] = a[i][j] * (-1);
		}
		for (int j = 1; j <= m; j++)
		{
			s1 = suma(a, n, m);
			for (int i = 1; i <= n; i++)
				a[i][j] = a[i][j] * (-1);
			s2 = suma(a, n, m);
			if (s2 > s1)
				sw = true;
			else
				for (int i = 1; i <= n; i++)
					a[i][j] = a[i][j] * (-1);
		}
	} while (sw);
	int s = suma(a, n, m);
	ofstream g("flip.out");
	g << s;
	g.close();
}