Cod sursa(job #772020)

Utilizator toranagahVlad Badelita toranagah Data 27 iulie 2012 22:05:11
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
using namespace std;

ifstream fin;
ofstream fout;

int main()
{
    int  M, N, mat[17][17];
    int p = 1, sum, s, result=0, mat[17][17], x[17], y[17];
    
    fin.open("flip.in");
    fin >> M >> N; 
    for (int i = 1; i <= M; ++i)
        for (int j = 1; j <= N; ++j)   
            fin >> mat[i][j];
    fin.close();

    p = (p << M) - 1;
    for (int i = 1; i <= p; ++i)
    {
        for (int j = 1; j <= M; ++j) 
            y[j] = i >> (j - 1) & 1;

        for (int j = 1; j <= N; ++j)
        {
            sum = 0;
            for (int k = 1; k <= M; ++k)
            {               
                if (y[k] == 1) sum -= mat[k][j];
                else sum += mat[k][j];
            }   
            if (sum < 0) x[j] = -sum;
            else x[j] = sum; 
        }
        s = 0;  
        for (int j = 1; j <= N; ++j)
            s += x[j];
        if (s > result) result = s;
    }

    fout.open("flip.out");
    fout << result;
    fout.close();   
    return 0;
}