Cod sursa(job #374282)

Utilizator bugyBogdan Vlad bugy Data 16 decembrie 2009 16:31:43
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include<stdio.h>
using namespace std;
#define dim 17
long i,n,m,j,s,mat[dim][dim],max,mat2[dim][dim];
int main()
{
FILE *f=fopen("flip.in","r"), *g=fopen("flip.out","w");

fscanf(f,"%ld %ld",&n,&m);

for(i=1;i<=n;i++)
{s=0;
	for(j=1;j<=m;j++)
	{
		fscanf(f,"%ld",&mat[i][j]);
		mat2[i][j]=mat[i][j];
		s+=mat[i][j];
	}
mat[i][0]=s; 
}
//inversez pe linie
for(i=1;i<=n;i++)
	if(mat[i][0]<0)
		for(j=1;j<=m;j++)
			mat[i][j]=-mat[i][j];

for(i=1;i<=m;i++)
{s=0;
	for(j=1;j<=n;j++)
		s+=mat[j][i];
mat[0][i]=s;
}			
//inversez pe coloana
for(i=1;i<=m;i++)
	if(mat[0][i]<0)
		for(j=1;j<=n;j++)
			mat[j][i]=-mat[j][i];
	s=0;
//claculez suma
for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
		s+=mat[i][j];
	
	if(max<s) max=s;
	
	
for(i=1;i<=m;i++)
{s=0;
	for(j=1;j<=n;j++)
		s+=mat2[j][i];
mat2[0][i]=s;
}		

for(i=1;i<=m;i++)
	if(mat2[0][i]<0)
		for(j=1;j<=n;j++)
			mat2[j][i]=-mat2[j][i];
	s=0;
for(i=1;i<=n;i++)
	{s=0;
		for(j=1;j<=m;j++)
			s+=mat2[i][j];
	mat2[i][0]=s;
	}
	
for(i=1;i<=n;i++)
	if(mat2[i][0]<0)
		for(j=1;j<=m;j++)
			mat2[i][j]=-mat2[i][j];
s=0;
for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
		s+=mat2[i][j];
	
	if(max<s) max=s;
	
	
	
fprintf(g,"%ld\n",max);

return 0;}