Cod sursa(job #590343)

Utilizator Agent008Cristi Poputea Agent008 Data 16 mai 2011 22:19:55
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<iostream.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long a[17][17],sumcol[17],smax=-32000000,sol[17];
int n,m;
void rez()
{
	int i,j,s=0;
	for(i=1;i<=m;i++)
		sumcol[i] = 0;
	for(j=1;j<=m;j++)
	{
		for(i=1;i<=n;i++)
			if(sol[i])
				sumcol[j]-=a[i][j];
			else
				sumcol[j]+=a[i][j];
	}
	for(i=1;i<=m;i++)
		if(sumcol[i] < 0)
		{
			for(j=1;j<=n;j++)
				if(sol[j])
					s+=a[j][i];
				else
				   s-=a[j][i];
		}
		else
			s+=sumcol[i];
	if(s > smax)
		smax = s;
}			
void Gen(int k)
{
	int i;	
	for(i=0;i<=1;i++)
	{
		sol[k] = i;
		if(k == n)
			rez();
		else
			Gen(k+1);
	}
}
int main()
{	
	fin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			fin>>a[i][j];
	Gen(1);	
	fout<<smax<<"\n";
	cout<<smax;
return 0;
}