Cod sursa(job #2381370)

Utilizator DorisMDoris M DorisM Data 16 martie 2019 17:16:54
Problema Jocul Flip Scor 0
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 1.57 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");

int i,s,n,m,j,v[16][16],w[16][16],smax,q=0,q1=0,linia,coloana,i1=0,j1=0,jj=0,ii=0,s1=0,s2=0;

   void Linie(){
      for(j=1;j<=m;j++){v[linia][j]=(-1)*v[linia][j];
  //  fout<<v[linia][j]<<" " ;
      }

   }
   void Coloana(){
      for(ii=1;ii<=n;ii++)
           if(ii!=linia){v[ii][coloana]=(-1)*v[ii][coloana];

           }
   }
    void sumaElemente()
    {
       for(i=1;i<=n;i++)
       for(j=1;j<=m;j++)
       s=s+v[i][j];
       //fout<<s;
    }

int main()
{
     fin>>n>>m;
     for(i=1;i<=n;i++)
     for(j=1;j<=m;j++){fin>>v[i][j];
     w[i][j]=v[i][j];
     }
     if(n==1 && m==1)fout<<v[1][1];
     else if(n==1 && m>1){
        for(i=1;i<=m;i++)s1=s1+v[1][i];
        for(i=1;i<=m;i++){
            v[1][i]=(-1)*v[1][i];
            s2=s2+v[1][i];
        }
        if(s1>s2)fout<<s1;
        else fout<<s2;
     }
     else if(n>1 && m==1){
        for(i=1;i<=n;i++)s1=s1+v[i][1];
        for(i=1;i<=n;i++){
            v[i][1]=(-1)*v[i][1];
            s2=s2+v[i][1];
        }
        if(s1>s2)fout<<s1;
        else fout<<s2;
     }
     else{
     for(i1=1;i1<=n;i1++){
     for(j1=1;j1<=m;j1++){
     linia=i1;
    // fout<<linia<<" " ;
     coloana=j1;
     //fout<<coloana<<"  ";
     Linie();
     Coloana();
     sumaElemente();
     for(q=1;q<=n;q++)
     for(q1=1;q1<=m;q1++){v[q][q1]=w[q][q1];
}
     if(s>smax)smax=s;

       s=0;
     }}
  fout<<smax<<"  ";
     }
    return 0;
}