Cod sursa(job #2642883)

Utilizator Szocs_AndreiSzocs Andras Szocs_Andrei Data 17 august 2020 14:49:00
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.58 kb
#include <iostream>

using namespace std;

int main()
{
   freopen ("flip.in","r",stdin);
   freopen ("flip.out","w",stdout);
	int n,m ;
    cin>>n>>m;
    int flip [n][m] ;
    
   for(int i {0}; i < n; i ++){
         for(int j {0}; j< m ;j++){
            cin>>flip[i] [j];
         }
    }

     for(int i {0}; i < n; i ++){
          int poz {0};
          int neg {0};
         for(int j {0}; j< m ;j++){
             if(flip[i][j] >= 0)
                 poz += flip[i][j] ;
             else
                 neg += flip[i][j] ;
         }
         neg *= -1;
         if(neg > poz){
        for(int j {0}; j< m ;j++){
        flip [i] [j] *= -1;}
        }
     }
      for(int j {0}; j < m; j ++){
           int poz {0};
           int neg {0};
         for(int i {0}; i< n ;i++){
             if(flip[i][j] >= 0)
                 poz += flip[i][j] ;
             else
                 neg += flip[i][j] ;
         }
         neg *= -1;
         if(neg > poz){
        for(int i {0}; i< n ;i++){
        flip [i] [j] *= -1;}
        }
      }
      for(int i {0}; i < n; i ++){
          int poz {0};
          int neg {0};
         for(int j {0}; j< m ;j++){
             if(flip[i][j] >= 0)
                 poz += flip[i][j] ;
             else
                 neg += flip[i][j] ;
         }
         neg *= -1;
         if(neg > poz){
        for(int j {0}; j< m ;j++){
        flip [i] [j] *= -1;}
        }
     }
     int suma {0};
      for(int j {0}; j < m; j ++){
         for(int i {0}; i< n ;i++){
        suma += flip[i][j];
             }
        }
     cout<<suma<<endl;
    
	return 0;
}