Cod sursa(job #1241180)

Utilizator turbowin120Amarandei-Stanescu Alexandru turbowin120 Data 12 octombrie 2014 21:34:17
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <iostream>
#include <fstream>
using namespace std;

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


int m,n,maxim=-99999,mat[100][100];
int lin[100], col[100];
long long si=-16000001;

void citire(){
    in>>n>>m;

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            in>>mat[i][j];




}

void change(int a, int b){
    if(a){
        for(int i=1;i<=m;i++){
            mat[a][i]=-mat[a][i];

        }

    }
    else
        for(int i=1;i<=n;i++)
        mat[i][b]=-mat[i][b];



}

void sum()
{
   long long sum=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        sum=sum+mat[i][j];
    if(sum>si) si=sum;
}


void bck2(int j){

    if(j<=m){

        sum();
        bck2(j+1);
        change(0,j);
        sum();

        bck2(j+1);
        change(0,j);


    }




}

void bck(int i){

        if(i<=n){
            bck(i+1);

            bck2(1);
            change(i,0);
            bck2(1);

            bck(i+1);

        }

}




int main()
{
   citire();
   bck(1);

    out<<si;
    return 0;
}