Cod sursa(job #553443)

Utilizator cameleonGeorgescu Dan cameleon Data 14 martie 2011 04:31:10
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int a[17][17],s[17],n,m,stot,smax;
void citire()
{
	int i,j;
	f>>n>>m;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{
			f>>a[i][j];
			
		}
		
	}
}
void coloane()
{
	int i,j,s1,s2;
	for(j=1;j<=m;j++)
	{
		s1=0;s2=0;
		for(i=1;i<=n;i++)
			{
				s[i]=s[i]+a[i][j];
				s1=s1+a[i][j];
				s2=s2-a[i][j];
		}
		if(s1>0)
			stot+=s1;
		else 
			stot+=s2;
	}
}
		
void submultimi()
{
	int i,nr,x,k,stot1;
	nr=(1<<n)-1;smax=stot;
	for(i=1;i<=nr;i++)
	{
		stot1=stot;
		x=i;k=1;
		while(x!=0)
		{
			if(x%2==1)
				stot1=stot1-2*s[k];
			x=x/2;k=k+1;
		}
		if(stot1>smax) smax=stot1;
	}
}
	
int main()
{
	citire();
	coloane();
	submultimi();
	g<<smax;
	return 0;
	
}