Cod sursa(job #2018183)

Utilizator l-teenLucian l-teen Data 3 septembrie 2017 19:50:54
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
// JoculFlipInfoArena.cpp : Defines the entry point for the console application.
//

#include <stdio.h>

int main()
{
	unsigned int m, n, i, j, auxiter;
	short v[32];
	long long mat[16][16], maxsum = -65535, sum;
	unsigned long long maxcomb =1, aux, lc;

	freopen("flip.in", "r", stdin);
	freopen("flip.out", "w", stdout);

	scanf("%u %u", &n, &m);
	for (i = 0;i<n;++i)
		for (j=0;j<m;++j)
			scanf("%lld", &mat[i][j]);

	lc = 0;

	for (i = 0;i< n+m -1;++i)
		maxcomb *= 2;

	for (i=0;i<31;++i)
		v[i] = 1;

	for (lc = 0;lc<maxcomb;++lc)
	{
		sum = 0;
		aux = lc;
		auxiter = 0;
		while (aux)
		{
			if (aux%2)
				v[auxiter] = -1;
			else
				v[auxiter] = 1;
			aux = aux/2;
			++auxiter;
		}
		for (i =0;i<n;++i)
			for (j=0;j<m;++j)
				sum += v[j]*v[i+m]*mat[i][j];

		if (sum > maxsum)
			maxsum = sum;
	}

	printf("%lld", maxsum);

	return 0;
}