Cod sursa(job #3411)

Utilizator Iulia_marinaMarina Iulia Iulia_marina Data 24 decembrie 2006 16:02:46
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.45 kb
#include <fstream> 
using namespace std;
#define MAX 16

int a[MAX][MAX];
int n, m;
int inm[MAX], neinm[MAX], sum;
void Read();
void Write();
void Solve();

int main()
{ 
    Read();
    Solve();
    Write();
    return 0;
}

void Read()
{ 
     ifstream fin ("flip.in");
     fin >> n >> m;
     for ( int i = 1; i <= n; i ++)
         for ( int j = 1; j <= m; j++)
             fin >> a[i][j];
     fin.close();
}

void Solve()
{ 
      
     for ( int i = 1; i <= n; i++)
     {
         for ( int j = 1; j <= m; j++)
         {
             neinm[i] += a[i][j]; 
             inm[i] += (-1)*a[i][j]; 
         }
         
         if ( neinm[i] < inm[i] ) 
         {
              for ( int j = 1; j <= m; j++)
              a[i][j] = -a[i][j];
              
              }
           
         
     }
     for ( int j = 1; j <= m; j++)
     {
         neinm[j] = 0;
         inm[j] = 0;
         for ( int i = 1; i <= n; i++)
         {
             neinm[j] += a[i][j]; 
             inm[j] += (-1)*a[i][j]; 
         }
             if ( neinm[j] < inm[j] ) 
             {
                  for ( int i = 1; i <= n; i++)
                      a[i][j] = -a[i][j];
                  neinm[j] = inm[j];
             }
               
           
              
     sum += neinm[j];
     }
     
}

void Write()
{
     ofstream fout ("flip.out");
     fout << sum; 
     fout.close();
}