Cod sursa(job #995776)

Utilizator margikiMargeloiu Andrei margiki Data 10 septembrie 2013 11:36:44
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
# include <cstdio>
# include <algorithm>
using namespace std;
int a[20][20],l[20],n,m,i,j,maxx;
int var[]={1,-1};
void back (int k)
{
    if (k==n+1) {
                    int sum=0;
                    for (int j=1; j<=m; ++j)
                    {
                        int suma=0;
                        for (int i=1; i<=n; ++i)
                            suma=suma+a[i][j]*l[i];
                        suma=max(suma,-suma);
                        sum+=suma;
                    }
                    if (sum>maxx) maxx=sum;
                }
    else {
            for (int i=0; i<=1; ++i)
            {
                l[k]=var[i];
                back(k+1);
                l[k]=0;
            }
         }
}
int main ()
{
    freopen ("flip.in", "r", stdin);
    freopen ("flip.out", "w", stdout);
    scanf ("%d%d", &n, &m);

    for (i=1; i<=n; ++i)
        for (j=1; j<=m; ++j)
            scanf("%d", &a[i][j]);
    back (1);

    printf ("%d\n", maxx);
    return 0;
}