Cod sursa(job #496873)

Utilizator Light532Light 532 Light532 Data 30 octombrie 2010 23:34:59
Problema Jocul Flip Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.96 kb
#include "stdio.h"

int solve(int a[16][16],int m, int n){
	int i,j;
	int sum=0;
	int ok=0;
	while(!ok){
		ok = 1;
		for(i=0;i<m;i++){	
			sum = 0;
			for(j=0;j<n;j++){
				sum	+= a[i][j];
			}
			if(sum<0){
				for(j=0;j<n;j++){
					a[i][j] *= (-1);
				}
				ok = 0;
			}
		}
		for(i=0;i<n;i++){	
			sum = 0;
			for(j=0;j<m;j++){
				sum	+= a[j][i];
			}
			if(sum<0){
				for(j=0;j<m;j++){
					a[j][i] *= (-1);
				}
				ok = 0;
			}
		}
	}
	sum = 0;
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			sum += a[i][j];
		}	
	}
	return sum;
}

int main(){
	int m,n,i,j;
	int a[16][16];
	int rez;

	FILE *f,*g;
	f = fopen("flip.in","r");
	g = fopen("flip.out","w");
	
	fscanf(f,"%d %d",&m,&n);
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			fscanf(f,"%d",&a[i][j]);
		}	
	}

	rez = solve(a,m,n);


	fprintf(g,"%d",rez);

	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			fprintf(g,"%d ",a[i][j]);
		}
		fprintf(g,"\n");
	}
	return 0
}