Cod sursa(job #501428)

Utilizator PavelRaduPavel Radu Cristian PavelRadu Data 15 noiembrie 2010 00:06:54
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<iostream>
using namespace std;
#include<stdio.h>
FILE *f,*g;
int a[20][20],i,j,n,m,suma;

void flip_linie(int x)
{
int st=0,j;
for(j=1;j<=m;j++)
	st+=a[x][j];

if(st<0)
	for(j=1;j<=m;j++)
		a[x][j]=-a[x][j];
}

void flip_coloana(int x)
{
int st=0,i;
for(i=1;i<=n;i++)
	st+=a[i][x];

if(st<0)
	for(i=1;i<=n;i++)
		a[i][x]=-a[i][x];
}

int main()
{
if((f=fopen("flip.in","r"))==NULL)
{printf("Eroare deschidere fisier");return 0;}
if((g=fopen("flip.out","w"))==NULL)
{printf("Eroare deschidere fisier");return 0;}
fscanf(f,"%d%d",&n,&m);

for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
		fscanf(f,"%d",&a[i][j]);

for(i=1;i<=n;i++)
	flip_linie(i);
for(i=1;i<=m;i++)
	flip_coloana(i);
for(i=1;i<=n;i++)
	flip_linie(i);

for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
		suma+=a[i][j];
	
fprintf(g,"%d",suma);

return 0;
}