Cod sursa(job #3161)

Utilizator cosminstefanxpStefan Dobrin Cosmin cosminstefanxp Data 21 decembrie 2006 13:16:25
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream.h>
int a[18][18],m,n,max=0;
void flip(int x[])
{  int s,st,i,j;
	for(i=1;i<=n;i++)
	  if(x[i]==1)
		 for(j=1;j<=m;j++)
			a[i][j]*=(-1);
	st=0;
	for(j=1;j<=m;j++)
		{s=0;
		 for(i=1;i<=n;i++)
			s+=a[i][j];
		 if(s<0)
			st=st-s;
			else st=st+s;
		 }
	 if(st>max) max=st;
	 for(i=1;i<=n;i++)
	  if(x[i]==1)
		 for(j=1;j<=m;j++)
			a[i][j]*=(-1);
}



int main()
{
	int x[20],k,ok,i,j;
	ifstream fin("flip.in");
	fin>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			fin>>a[i][j];
	fin.close();
	x[k=1]=-1;
	while(k>0)
		{ok=0;
		 while(ok==0&&x[k]<1)
			  {x[k]++;
				ok=1;}
		 if(ok)
			 if(k==n)
				 flip(x);
			  else x[++k]=-1;
		 else k--;
		  }
	  ofstream fout("flip.out");
	  cout<<max;
	  return 0;
		 }