Cod sursa(job #1328982)

Utilizator cautionPopescu Teodor caution Data 28 ianuarie 2015 22:09:16
Problema Jocul Flip Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
using namespace std;
int main()
{
    ifstream in("flip.in");
    ofstream out("flip.out");
    short mask=0, mask_limit, n, m, i, j, aux;
    long ms=-12345678, s, cs;
    long board[16][16];
    in>>n>>m;
    for(i=0; i<n; ++i)
        for(j=0; j<m; ++j) in>>board[i][j];
    mask_limit=1;
    mask_limit<<=m;
    while(mask<mask_limit)
    {
        s=0;
        for(i=0; i<n; ++i)
        {
            aux=mask;
            cs=0;
            for(j=0; j<m; ++j)
            {
                if(aux%2)
                    cs+=-board[i][j];
                else cs+=board[i][j];
                aux>>=1;
            }
            if(cs<0) s+=-cs;
            else s+=cs;
        }
        if(s>ms) ms=s;
        ++mask;
    }
    out<<ms;
    in.close(); out.close();
    return 0;
}