Cod sursa(job #775786)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 8 august 2012 22:36:09
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<stdio.h>
long a[20];
long b[20];
long c[20][20];
int main()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	long m,n,i,j,s1,t,s2;
	s1=-999999;
	scanf("%ld",&n);
	scanf("%ld",&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%ld",&c[i][j]);
      do
	  {
		for(i=n;i>=1;i--)
			if(a[i]==0)
			{
             a[i]=1;
break;
			}
			for(t=i+1;t<=n;t++)
				if(a[t]==1)
					a[t]=0;
				do
				{
					s2=0;
					for(j=m;j>=1;j--)
			if(b[j]==0)
			{
             b[j]=1;
break;
			}
			for(t=j+1;t<=m;t++)
				if(b[t]==1)
					b[t]=0;
				for(i=1;i<=n;i++)
					for(j=1;j<=m;j++)
						if(a[i]==1 && b[j]==1)
							s2=s2+c[i][j];
						else
							if(a[i]==1 || b[j]==1)
								s2=s2-c[i][j];
							else
								s2=s2+c[i][j];
							if(s2>s1)
								s1=s2;
				}while(b[1]==0);
				for(i=1;i<=m;i++)
					b[i]=0;
	  }while(a[1]==0);
	  printf("%ld",s1);
			return 0;
}