Cod sursa(job #831546)

Utilizator AlexandruValeanuAlexandru Valeanu AlexandruValeanu Data 8 decembrie 2012 18:43:53
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n,m;
long long mat[20][20];

void citire(){
    f>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            f>>mat[i][j];
}

long long suma(){

    long long s=0;

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

    return s;
}

void modifica_linie(){

    int s_in,s_dp;

    for(int i=1;i<=n;i++){

        s_in=suma();

        for(int j=1;j<=m;j++)
            mat[i][j]*=(-1);

        s_dp=suma();

        if(s_in>s_dp)
            for(int j=1;j<=m;j++)
                mat[i][j]*=(-1);
    }
}

void modifica_coloana(){

    int s_in,s_dp;

    for(int i=1;i<=m;i++){

        s_in=suma();

        for(int j=1;j<=n;j++)
            mat[j][i]*=(-1);

        s_dp=suma();

        if(s_in>s_dp)
            for(int j=1;j<=n;j++)
                mat[j][i]*=(-1);
    }
}


int main(){

    citire();
    modifica_coloana();
    modifica_linie();
    g<<suma();

    return 0;
}