Cod sursa(job #877422)

Utilizator 57ROEDragos Stroe 57ROE Data 12 februarie 2013 20:45:26
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.47 kb
#include <stdio.h>
#include <conio.h>

int main()

{   int min1,min2,ok,S,i,j,m,n,c,a[100][100],v1[100],v2[100];
	
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	
	scanf("%i %i",&n,&m);
	c=-1;
	S=0;
	
	for(i=1;i<=n;i++)
    {
	for(j=1;j<=m;j++) 
	{ scanf("%i ",&a[i][j]); }
	scanf("\n"); 
	} 
	
	for(i=1;i<=n;i++)
	{ v1[i]=0; }
	for(j=1;i<=m;j++)
	{ v2[j]=0; }
	
	for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
	{ v1[i]=v1[i]+a[i][j]; }
	
	for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
	{ v2[j]=v2[j]+a[i][j]; }
	
	min1=v1[1];
	min2=v2[1];
	ok=0;
	
	do
{	  
	for(i=1;i<=n;i++)
	  { if (v1[i]<min1) { min1=v1[i]; } }
	  
	for(j=1;j<=m;j++)
	  { if (v2[j]<min2) { min2=v2[j]; } }
	  
	  
	  if (min1<0) 
			{ if (min2<0) 
				{ if (min1>min2)
	                { 
					for(i=1;i<=n;i++)
				    for(j=1;j<=m;j++)
					{ a[i][j]=c*a[i][j]; } 
				    }
				else if (min1<min2)	
					{ 
					for(i=1;i<=n;i++)
				    for(j=1;j<=m;j++)
					{ a[i][j]=c*a[i][j]; } 
				    } 
				}
			else if (min2>0)
				{ for(i=1;i<=n;i++)
				for(j=1;j<=m;j++)
				{ a[i][j]=c*a[i][j]; } }
			}	
	   else if (min2<0) 
	        { 
				for(i=1;i<=n;i++)
				for(j=1;j<=m;j++)
				{ a[i][j]=c*a[i][j]; } 
	        }
            
    
    for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
	{ if (v1[i]>0) ok=1;
      if (v2[j]>0) ok=1; }

}	while (ok=0);
	  	   
    
    for(i=1;i<=n;i++)
	for(j=1;j<=m;j++)
    { S=S+a[i][j]; }
	
	printf("%i",S);

}