Cod sursa(job #1570965)

Utilizator razvan99hHorhat Razvan razvan99h Data 16 ianuarie 2016 22:35:11
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, i, j, suml, s, maxx, conf, a[19][19];

int main()
{
    f>>n>>m;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {   f>>a[i][j];
            maxx=maxx+a[i][j]; //retinem suma initiala a matricii
        }

    for(conf=1;conf<=(1<<m)-1;conf++)//2^n-1 pasi
    {   s=0;
        for(i=0;i<n;i++)//parcurgem bitii
        {   suml=0;
            for(j=0;j<m;j++)
            {   if(conf&(1<<j))//daca e intrerupatorul aprins, adica daca bitul j din conf e 1
                    suml=suml+(-1)*a[i][j];
                else suml=suml+a[i][j];
            }
            s=s+max(suml,-suml);//echivalentul intrerupatorului pe linie, care da suma mai mare
        }
        maxx=max(maxx,s);//retinem in maxx pe s daca e o configuratie mai buna
    }
    g<<maxx;
    return 0;
}