Cod sursa(job #351718)

Utilizator adinadrian nitu adin Data 28 septembrie 2009 22:15:32
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#include<iostrean.h>
int n,m,flip[16][2];
long matrice[16][16],cm[16][16] ;
long long sumamax=0;
long long suma()
{
	int i,j;
	long long suma=0;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			suma+=cm[i][j];
	return suma;
}
void flipit()
{
	int i,j;
	long long suma;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			cm[i][j]=matrice[i][j]*flip[i][0]*flip[j][1];
	suma=suma();
	if(sumamax<suma)
		sumamax=suma;
}
void back2()
{
	for(int j=0;j<m;j++)
	{
		flipit();
		flip[j][1]=-1;
		flipit();
	}
}		
void back()
{
	for(int i=0;i<n;i++)
	{
		back2();
		flip[i][0]=-1;
		back2();
	}
}
main()
{
	int i,j;
	freopen("flip.in",'r',stdin);
	freopen("flip.out",'w',stdout);
	cin>>n>>m;
		for(i=0;i<n;i++)
			for(j=0;j<m;j++)
				cin>>matrice[i][j];
	for(i=0;i<16;i++){
		flip[i][0]=1;
		flip[i][1]=1;}
	back();
	cout<<sumamax<<"\n";
}