Cod sursa(job #2044296)

Utilizator Cristi_ChiraChira Cristian Cristi_Chira Data 21 octombrie 2017 09:17:48
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int mat[17][17], n, m, S[41], rz;
int rez(){
    int s = 0, rasp = 0;
    for(int i = 1; i <= n; i++){
            s = 0;
        for(int j =1; j <= m; j++)
            s+=S[j] * mat[i][j];

        rasp+=max(s, -s);
    }
    return rasp;
}
void bkt(int niv){

    if(niv > m)
    {
        rz = max(rz, rez());
        return;
    }
    S[niv] = 1;
    bkt(niv + 1);
    S[niv] = - 1;
    bkt(niv + 1);
}
int main()
{
    fin >> n >> m;
    for(int i = 1; i <= n ; i++)
    {
        for(int j = 1; j <= m; j++)
            fin >> mat[i][j], rz +=mat[i][j];
    }
    bkt(1);
    fout<<rz;
    return 0;
}