Cod sursa(job #551675)

Utilizator iAmZeeBogdan Andrei iAmZee Data 10 martie 2011 22:47:28
Problema Jocul Flip Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;

int a[16][16], n, m;
int maxsum = 0;
ifstream f("flip.in");
ofstream g("flip.out");

void check() {
    int suma = 0, temp;
    for(int i=0;i<m;i++) {
        temp = 0;
        for (int j=0;j<n;j++)
            temp += a[j][i];
        if (temp > 0)
            suma += temp;
        else
            suma -= temp;
    }
    if (maxsum < suma)
        maxsum = suma;
}

void back(int c) {
    if (c>n)
        return;
    check();
    back(c+1);
    for(int i=0;i<m;i++)
        a[c][i] = - a[c][i];
    check();
    back(c+1);
}

int main() {
    f>>n>>m;
    for(int i=0;i<n;i++) 
        for(int j=0;j<m;j++) 
            f>>a[i][j];

    back(0);
    g<<maxsum;
    return 0;
}