Cod sursa(job #4490)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 4 ianuarie 2007 19:28:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream.h>

ifstream f1("flip.in");
ofstream f2("flip.out");

int main ()
{
    int n,m,i,j,s,v[17],smax=0,p1,p2,a[17][17];
    f1>>n;f1>>m;
    for (i=1;i<=n;i++){
        for (j=1;j<=m;j++){
            f1>>a[i][j];
        }
    }
    v[0]=0;
    for (i=1;i<=16;i++)v[i]=0;
    while (v[0]==0){
          s=0;
          for (i=1;i<=n;i++){
                  if (v[i]==0)
                     for (j=1;j<=m;j++)s=s+a[i][j];
                  else
                      for (j=1;j<=m;j++)s=s-a[i][j];
          }
          for (j=1;j<=m;j++){
              p1=0;
              for (i=1;i<=n;i++){
                  if (v[i]==0)p1+=a[i][j];
                  else p1-=a[i][j];
              }
              p2=0;
              for (i=1;i<=n;i++){
                  if (v[i]==0)p2-=a[i][j];
                  else p2+=a[i][j];
              }
              if (p2>p1)s=s+p2-p1;
          }
          if (s>smax)smax=s;
          v[n]++;
          for (i=n;i>=1;i--){
              if (v[i]>=2){v[i]=0;v[i-1]++;}
          }
    }
    f2<<smax<<'\n';            
f1.close();
f2.close();
return 0;
}