Cod sursa(job #2595470)

Utilizator VladP02Popescu Vlad VladP02 Data 7 aprilie 2020 19:44:29
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>
#include <fstream>

using namespace std;

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

#define ll long long

ll int n,m,a[17][17];

void comc(int j) {
    for(int i=1; i<=n; i++) 
        a[i][j] *= -1;
}

void coml(int i) {
    for(int j=1; j<=m; j++)
        a[i][j] *= -1;
}

void recursiv() {
    int i,j,sum1=0,sum2=0;
    for(i=1; i<=n; i++) {
        sum1=0;
        sum2=0;
        for(j=1; j<=m; j++) {
            sum1 += a[i][j];
            sum2 += -a[i][j];
        }
        if(sum2>sum1) { coml(i); recursiv(); }
    }
    for(j=1; j<=m; j++) {
        sum1=0;
        sum2=0;
        for(i=1; i<=n; i++) {
            sum1 += a[i][j];
            sum2 += -a[i][j];
        }
        if(sum2>sum1) { comc(j); recursiv(); }
    }
}

int main() {
    f >> n >> m;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            f >> a[i][j];
    recursiv();
    ll int suma=0;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            suma += a[i][j];
    g<<suma;
}