Cod sursa(job #163716)

Utilizator xtremespeedzeal xtreme Data 22 martie 2008 17:30:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<iostream.h>
#include<fstream.h>

int n,m,v[17][17],i,j;

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];
	f.close();
	}
int main()
	{
	read();
	int i,j,smax=0,s1,s2,s,a[17];
	fstream g("flip.out",ios::out);
	for(i=0;i<=16;i++)a[i]=0;
	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(s2>s1)
				s+=s2-s1;
			}
		if(s>smax)
			smax=s;
		a[n]++;
		for(i=n;i>=1;i--)
			if(a[i]>=2)
				{
				a[i]=0;
				a[i-1]++;
				}
		}
	g<<smax;
	g.close();
	}