Cod sursa(job #1349342)

Utilizator StefanutzzKis Stefan Marian Stefanutzz Data 20 februarie 2015 09:53:10
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int s,sm,n,m,q,x,i,j,a[17][17],s1[17],s2[17],p,z; // declaram variabilele .
int main()
{
    fin>>n>>m; // citim n si m .
    for(i=1;i<=n;i++) //
    for(j=1;j<=m;j++) //
        fin>>a[i][j]; // citim matricea a[i][j]
    x=(1<<n)-1; // x=(1<<n)-1 .
    for(q=0;q<=x;q++)
    {
        s=0;
        p=q;
        z=0;
        for(j=1;j<=m;j++)
        {
            s1[j]=0;
            s2[j]=0;
        }
        while(p)
        {
            z++;
            if(p%2==1)
            for(j=1;j<=m;j++)
            {
                s1[j]=s1[j]+a[z][j];
                s2[j]=s2[j]+a[z][j]*(-1);
            }
            else
            for(j=1;j<=m;j++)
            {
                s1[j]=s1[j]+a[z][j]*(-1);
                s2[j]=s2[j]+a[z][j];
            }
            p=p/2;
        }
        for(j=1;j<=m;j++)
        if(s1[j]>s2[j])
            s=s+s1[j];
        else
            s=s+s2[j];
        if(s>sm)
            sm=s;
    }
    fout<<sm;
    return 0;
}