Cod sursa(job #113664)

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


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

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

/*
int ok_to_add_line(int i)
{
    int j;
    long int s1=0;
    for(j=1;j<=m;j++)
        s1+=a[i][j];
    if(s1<0) return 0;
    return 1;
}


int ok_to_add_col(int j)
{
    int i;
    long int s1=0;
    for(i=1;i<=n;i++)
        s1+=a[i][j];
    if(s1<0) return 0;
    return 1;
}

*/

int main()
{

    int i,j,k;
    f>>n>>m;
    
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            f>>a[i][j];
            s+=a[i][j];
        }    
    
    s1=s;
    i=1;
    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);
    

    
    
/*  
    j=1;
    do
    {
        for(i=1;i<=n;i++)
        {
            s1-=a[i][j];                   
            s1+=-a[i][j];
        }            
        if(s1>s) s=s1;
            else s1=s;
        
        i=j;
        for(k=1;k<=m;k++)
        {
            s1-=a[i][k];                   
            s1+=-a[i][k];
        }            
        if(s1>s) s=s1;
            else s1=s;
        
    j++;
    }        
    while(j<=m);
    
*/   

    g<<s;
    
    f.close();
    g.close();
}