Cod sursa(job #2486126)

Utilizator bogdan2005Gosa Bogdan bogdan2005 Data 2 noiembrie 2019 12:42:05
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <math.h>
#include <fstream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,mx=0;
int M[17][17];
int flip[17];
void make_binary(int i){
        int j=0;
        while(i!=0){
            flip[j]=i%2;
            i=i/2;
            j++;
        }
}
void schimbare_matrice(){
    int s=0;
    for(int i=0;i<m;i++){
        int sc=0;
        for(int j=0;j<n;j++){
            if(flip[j]==0)
                sc+=M[j][i];
            else
                sc+=M[j][i]*-1;
        }
        if(sc<0)
            sc*=-1;
        s+=sc;
    }
    if(s>mx)
        mx=s;
}


int main()
{
    int i,j,x;

    f>>n>>m;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++)
            f>>M[i][j];
    }

    for(i=0;i<pow(2,n);i++){
        make_binary(i);
        schimbare_matrice();

        for(j=0;j<n;j++){
            //g<<flip[j]<<' ';
            flip[j]=0;
        }
        //g<<'\n';
    }
    g<<mx;
    return 0;
}