Cod sursa(job #163194)

Utilizator xtremespeedzeal xtreme Data 21 martie 2008 18:04:21
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<iostream.h>
#include<fstream.h>
#include<conio.h>

int n,m,v[17][17],i,j,a[17],smax=0;

void read()
	{
	fstream f("flip.in",ios::in);
	f>>n>>m;
	for(i=1;i<=n;i++)
		{
		for(j=1;j<=m;j++)
			{
			f>>v[i][j];
			}
		}
	}
void init()
	{
	for(i=0;i<=16;i++)
		a[i]=0;
	}
int main()
	{
	int s1,s2,s;fstream g("flip.out",ios::out);
	read();
	init();
	while(a[0]==0)
		{
		s=0;
		for(i=1;i<=n;i++)
			{
			if(a[i]==0)
				{
				for(j=1;j<=m;j++)
					s+=v[i][j];
				}
			else
				{
				for(j=1;j<=m;j++)
					s-=v[i][j];
				}
			}
		for(j=1;j<=m;j++)
			{
			s1=0;s2=0;
			for(i=1;i<=n;i++)
				{
				if(a[i]==0)
					{
					s1+=v[i][j];
					s2-=v[i][j];
					}
				else
					{
					s1-=v[i][j];
					s2+=v[i][j];
					}
				}
			if(s1>s2)
				s+=s1-s2;
			}
		if(smax<s)
			smax=s;
		a[n]++;
		for(i=n;i>=1;i--)
			{
			if(a[i]>=2)
				{
				a[i]=0;
				a[i-1]++;
				}
			}
		}
	g<<smax;
	}