Cod sursa(job #2195607)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 16 aprilie 2018 20:33:12
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <fstream>
#define nmax 17

using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int N,M,matrice[nmax][nmax], suma,noua_sum,init[nmax][nmax];
int comuta(int linia, int coloana)
{
    int sum=0;
    for(int i =1 ; i <= M; i ++) // comutam coloana
    {
        matrice[linia][i]*= -1;
    }
    for(int j =1; j <= N; j++)
    {
        matrice[j][coloana]*=-1;
    }
    for(int i =1; i <= N; i++)
        for(int j =1 ;j <=M; j++)
          sum+=matrice[i][j];
    return sum;
}
void restabileste()
{
    for(int i = 1; i <= N; i ++)
        for(int j =1 ; j <= M; j++)
         matrice[i][j]=init[i][j];
}
int main()
{
    fin>>N>>M;

    for(int i =1 ; i <= N; i++)
   {
       for(int j=1 ; j <= M; j++)
       {
           fin>>matrice[i][j];
           init[i][j]=matrice[i][j];
           suma+=matrice[i][j];
       }
   }
   for(int i =1 ; i <= N; i ++)
   {
       for(int j =1 ; j <= M; j++)
       {
            noua_sum=comuta(i,j);
            restabileste();
            if(noua_sum > suma)
                suma=noua_sum;

       }
   }
   fout<<suma;

    return 0;
}