Cod sursa(job #503625)

Utilizator andra23Laura Draghici andra23 Data 23 noiembrie 2010 22:23:38
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
#define maxn 20

using namespace std;

int s[2*maxn], m, n, a[maxn][maxn], e[2*maxn];
long long maxim;
ofstream g("flip.out");

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

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