Cod sursa(job #1723839)

Utilizator BlackNestaAndrei Manaila BlackNesta Data 1 iulie 2016 16:54:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;
int a[18][18],b[18][18],n,m,v[18],smax;

void Citire()
{
    int i,j;
    ifstream f("flip.in");
    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        f>>a[i][j];
    f.close();
}
void Calcul()
{
    int j,i,stotal;
    for(j=1;j<=m;j++)
        if(v[j]==1)
        for(i=1;i<=n;i++)
        b[i][j]=-a[i][j];
    else
        for(i=1;i<=n;i++)
        b[i][j]=a[i][j];
    stotal=0;
    for(i=1;i<=n;i++)
    {
        int s=0;
        for(j=1;j<=m;j++)
            s+=b[i][j];
        if(s<0)stotal-=s;
        else stotal+=s;
    }
    smax=max(smax,stotal);
}
void Gen(int top)
{
    int i;
    if(top==m+1)Calcul();
    else
      for(i=0;i<=1;i++)
    {
        v[top]=i;
        Gen(top+1);
    }
}
int main()
{
    ofstream g("flip.out");
    Citire();
    Gen(1);
    g<<smax<<"\n";
    g.close();
    return 0;
}