Cod sursa(job #1721097)

Utilizator Anghel_Ionut_Mugurel_321CBAnghel Ionut Mugurel Anghel_Ionut_Mugurel_321CB Data 24 iunie 2016 14:40:18
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif

#include<stdio.h>
#include<stdlib.h>
//#include<Windows.h>
int main(){
	FILE *in=fopen ("flip.in","r" );
	int a[17][17],i,j,ret,aux,row=0,col=0,sum_poz,sum_neg,m,n,data=0,offset;
	
	ret=fscanf(in,"%d %d", &n,&m);
	char *buffer=(char*)malloc(m*n*sizeof(int));
	fread(buffer,m*n*sizeof(int),1,in);
	fclose(in);
	for (i=1;i<=m*n;i++){
		sscanf(buffer+data,"%d %n",&aux,&offset);
		a[row][col]=aux;
		col++;
		data+=offset;
		if (i%m==0){
			col=0;
			row++;
		}
	}
	/*for (i=0;i<n;i++){
 		for (j=0;j<m;j++)
			printf("%d ", a[i][j]);
		printf("\n");
	}
	Sleep(5000);*/
	for (i=0;i<n;i++){
		sum_poz=0;
		for (j=0;j<m;j++)
			sum_poz+=a[i][j];
		a[i][n]=sum_poz;
	}

	for (i=0;i<n;i++){
		sum_poz=0;
		sum_neg=0;
		for (j=0;j<m;j++){
			sum_poz+=a[i][j];
			sum_neg-=a[i][j];
		}
		if (sum_neg>sum_poz)
			for (j=0;j<m;j++)
				a[i][j]=-a[i][j];
	}

	
	sum_poz=0;
	FILE *out=fopen ("flip.out","w" );
	for (i=0;i<n;i++)
		for (j=0;j<m;j++)
			sum_poz+=a[i][j];
	
	fprintf(out, "%d", sum_poz);
	fclose(out);
	return 0;
}