Cod sursa(job #768738)

Utilizator RaileanuCristian Raileanu Raileanu Data 17 iulie 2012 17:25:37
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>

using namespace std;
#define MAXN 18
long a[MAXN][MAXN];
int n,m,i,j, st[MAXN], smax=0;

void back(int);

void back(int k){
     if (k>n) 
        { int suma=0, sl=0,i,j;
          for (j=1;j<=m;j++,sl>=0?suma+=sl:suma-=sl)        
              for (i=1,sl=0;i<=n;i++)
                  if (st[i]==1) sl-=a[i][j];
                  else sl+=a[i][j];
                  if (suma>smax) smax=suma;} else
        { st[k]=0;
          back(k+1);
          st[k]=1;
          back(k+1);}
          }
           
int main(){
    ifstream f1("flip.in");
    ofstream f2("flip.out");
    f1>>n>>m;
    for (i=1;i<=n; i++)
        for (j=1; j<=m; j++)
            f1>>a[i][j];
    f1.close();
    
    back(1);
    f2<<smax;
    f2.close();
    return 0; }