Cod sursa(job #503630)

Utilizator andra23Laura Draghici andra23 Data 24 noiembrie 2010 00:32:50
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<fstream>
#define maxn 20

using namespace std;

int s[2*maxn], m, n, a[maxn][maxn];
long long maxim;

void back(int k) {
    int x;
    for (int i = 0; i <= 1; i++) {
        if (i == 0)
            s[k] = -1;
        else 
            s[k] = 1;
        if (k == n/2+m/2+2) {
            long long matrix = 0;
            for (int j = 1; j <= n; j++)
                for (int l = 1; l <= m; l++) {
                    x = a[j][l];
                    if (j <= n/2+1)
                        x = x*s[j];
                    if (l <= m/2+1)
                        x = x*s[n/2+1+l];
                    matrix = matrix + x;    
                }
            if (matrix > maxim)
                maxim = matrix;
        }
        else 
            back(k+1);     
    }    
}

int main() {
    ifstream f("flip.in");
    ofstream g("flip.out");
    f >> n >> m;
    
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            f >> a[i][j];
    
    back(1);
    
    g << maxim << '\n';
       
    return 0;
}