Cod sursa(job #1470288)

Utilizator sabin.antoheSabin Antohe sabin.antohe Data 10 august 2015 18:18:57
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
#include <algorithm>
using namespace std;
int lin[20], col[20], m[20][20], suma_max = 0, N, M;

void suma () {
    int max1 = 0, s1, s2;

    for(int i = 1; i <= M; i++) {
        s1 = s2 = 0;
        for(int j = 1; j <= N; j++) 
            if(lin[j] == 0) {
                s1 += m[j][i];
                s2 -= m[j][i];
            }
            else {
                s1 -= m[j][i];
                s2 += m[j][i];
            }
        if(s1 > s2)
            max1 += s1;
        else
            max1 += s2;
     }
    if(max1 > suma_max)
        suma_max = max1;
}

int main(void) {
    ifstream input ("flip.in");
    ofstream output ("flip.out");
    input >> N >> M;

    for (int i = 1; i <= N; i++)
        for (int j = 1; j <= M; j++)
            input >> m[i][j];
    
    for (int i = 0; i <= N; i++) {
        lin[i] = 1;
        do {
            suma();       
        }while (next_permutation(lin+1,lin+N+1));
    }
    output << suma_max;
}