Cod sursa(job #767698)

Utilizator Andrei.XweCobzaru Adrian-Andrei Andrei.Xwe Data 14 iulie 2012 14:10:36
Problema Jocul Flip Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
using namespace std;
ifstream fcin("flip.in");
ofstream fcout("flip.out");
int n,m,a[17][17],s[17],sum,sol=-1,sum2;
void read()
{
	fcin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			fcin>>a[i][j];
}
void prel(int k)
{
	sum=0;
	for(int i=1;i<=k;i++)
		for(int j=1;j<=n;j++)
			a[s[i]][j]=-a[s[i]][j];
	for(int i=1;i<=m;i++)
	{
		sum2=0;
		for(int j=1;j<=n;j++)
			sum2+=a[j][i];
		if(sum2>0)
			sum+=sum2;
		else
			sum-=sum2;
	}
	if(sum>sol)
		sol=sum;
	for(int i=1;i<=k;i++)
		for(int j=1;j<=n;j++)
			a[s[i]][j]=-a[s[i]][j];
}
void back(int k)
{
	if(k>n)
		return;
	for(int i=s[k-1]+1;i<=n;i++)
	{
		s[k]=i;
		prel(k);
		back(k+1);
	}
}
int main()
{
	read();
	back(1);
	fcout<<sol;
}