Cod sursa(job #2129033)

Utilizator mariuscosminCraciun Marius mariuscosmin Data 12 februarie 2018 13:51:29
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");

int n,m,a[20][20],smax;

void calculareSuma(int l[],int c[]){

    int s=0;
    for(int i=1;i<=m;i++)
        c[i]=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            c[j]+=(l[i]==1)?-a[i][j]:a[i][j];
    for(int i=1;i<=m;i++)
        s+=(c[i]<0)?-c[i]:c[i];
    if(s>smax)
        smax=s;

}

void linie(int lin,int l[],int c[]){

    l[lin]=1;
    for(int i=lin;i<=n;i++){
        calculareSuma(l,c);
        linie(i+1,l,c);
    }
    l[lin]=0;

}
int main(){

    f>>n>>m;
    int l[20],c[20];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            f>>a[i][j];
    for(int i=1;i<=n;i++)
        linie(i,l,c);
    f.close();
    g<<smax;
    g.close();

    return 0;
}