Cod sursa(job #1511433)

Utilizator MateiGramaGrama Matei MateiGrama Data 26 octombrie 2015 19:15:07
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

int aux[17][17],a[17][17],sol[17],n,m,smax;

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

void citire(){
    f>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            f>>a[i][j];
}
void prelucrare(int k){
    int i, j , s, sc;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            aux[i][j]=a[i][j];
    for(i=1;i<=k;i++)
        for(j=1;j<=m;j++)
            aux[sol[i]][j]=-aux[sol[i]][j];
    s=0;
    for(j= 1; j<=m;j++){
        sc=0;
        for(i =1;i<=n;i++)
            sc+=aux[i][j];
        if(sc<0) s-=sc;
        else s+=sc;
    }
    if(s>smax) smax=s;
}
void bkt(int p){
    prelucrare(p-1);
    for(int i=1+sol[p-1];i<=n;i++){
        sol[p]=i;
        bkt(p+1);
    }
}

int main(){
    citire();
    bkt(1);
    g<<smax;
}