Cod sursa(job #2273079)

Utilizator romanu64Teletin Ciprian romanu64 Data 30 octombrie 2018 23:20:44
Problema Jocul Flip Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream>
#include <iostream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");


int v[17];
int main ()

{
    int n,m,i,j,s,smax=0,p1,p2,a[17][17];
    f>>n;
    f>>m;
    for (i=1;i<=n;i++){
        for (j=1;j<=m;j++){
            f>>a[i][j];
        }
    }

    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]++;}
          }
    }
g<<smax;
f.close();
g.close();
return 0;}