Cod sursa(job #709802)

Utilizator andreyutzAndrey andreyutz Data 8 martie 2012 16:43:43
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.78 kb
#include<fstream>
using namespace std;
int main()
{
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    int n,m;
    fin>>n>>m;
    int a[17][17],b[17][17];
    
    int i,j,s;
    
    for(i=1;i<=n;i++){
                      for(j=1;j<=m;j++){fin>>a[i][j];b[i][j]=a[i][j];}
                      }
    
    //S1
    //coloane
    for(j=1;j<=m;j++){
                      s=0;
                      for(i=1;i<=n;i++){s+=b[i][j];}
                      if(s<0){
                              for(i=1;i<=n;i++){b[i][j]*=-1;}
                              }
                      }
    //linii
    for(i=1;i<=n;i++){
                      s=0;
                      for(j=1;j<=m;j++){s+=b[i][j];}
                      if(s<0){
                              for(j=1;j<=m;j++){b[i][j]*=-1;}
                              }
                      }
    //suma 
    int s1=0;
    for(i=1;i<=n;i++){
                      for(j=1;j<=m;j++){s1+=b[i][j];}
                      }
    
    //S2
    //linii
    for(i=1;i<=n;i++){
                      s=0;
                      for(j=1;j<=m;j++){s+=a[i][j];}
                      if(s<0){
                              for(j=1;j<=m;j++){a[i][j]*=-1;}
                              }
                      } 
    //coloane
    for(j=1;j<=m;j++){
                      s=0;
                      for(i=1;i<=n;i++){s+=a[i][j];}
                      if(s<0){
                              for(i=1;i<=n;i++){a[i][j]*=-1;}
                              }
                      }
    //suma 
    int s2=0;
    for(i=1;i<=n;i++){
                      for(j=1;j<=m;j++){s2+=b[i][j];}
                      }
    
    if(s1>s2){fout<<s1;}
    else{fout<<s2;}
    fin.close();
    fout.close();
    return 0;
}