Cod sursa(job #113674)

Utilizator DongYongDong Yong DongYong Data 10 decembrie 2007 23:28:34
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.97 kb
#include<fstream.h>


ifstream f("flip.in");
ofstream g("flip.out");

long int a[17][17],s,s1,s2,s3,s4;
int n,m;


int main()
{

    int i,j,k,l;
    f>>n>>m;
    
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            f>>a[i][j];
            s+=a[i][j];
        }    
    
    s4=s;
    s2=s;
    s1=s;
    
    for(l=1;l<=n;l++)
    {
    s2=s4;
    s1=s4;
    i=l;
    do
    {
        for(j=1;j<=m;j++)
        {
            s1-=a[i][j];                   
            s1+=-a[i][j];
        }            
        if(s1>s) 
        {   
            s=s1;
            for(j=1;j<=m;j++)
                a[i][j]*=-1;
        }    
        else s1=s;
        
        j=i;
        for(k=1;k<=n;k++)
        {
            s1-=a[k][j];                   
            s1+=-a[k][j];
        }            
        if(s1>s)
        {
            s=s1;
            for(k=1;k<=n;k++)
                a[k][j]*=-1;
        }    
        else s1=s;
        
        i++;
    }        
    while(i<=n);
    }
    

    s3=s1;
    s1=s2;
    s=s2;
  
    for(l=1;l<=m;l++)
    {
    s1=s4;
    s=s4;
    j=l;
    do
    {
        for(i=1;i<=n;i++)
        {
            s1-=a[i][j];                   
            s1+=-a[i][j];
        }            
        
        if(s1>s) 
        {
            s=s1;
            for(i=1;i<=n;i++)
                a[i][j]*=-1;
        }
        else s1=s;
        
        i=j;
        for(k=1;k<=m;k++)
        {
            s1-=a[i][k];                   
            s1+=-a[i][k];
        }            
        
        if(s1>s) 
        {
            s=s1;
            for(k=1;k<=m;k++)
                a[i][k]*=-1;
        }
        else s1=s;
        
        j++;
    }        
    while(j<=m);
    }
    
    if(s3<s1) g<<s1;
         else g<<s3;
    
    f.close();
    g.close();
}