Cod sursa(job #2150943)

Utilizator stanescumalinStanescu Malin Octavian stanescumalin Data 3 martie 2018 21:53:34
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>

using namespace std;

int SumRMax(int* ar, int n, int m)
{
    int i, j;
    int sum=0;
    int sc;
    for(i=0;i<n;i++)
    {
        sc = 0;
        for(j=0;j<m;j++) sc += ar[i*m+j];
        if(sc>0) sum += sc;
        else sum -= sc;
    }
    return sum;
}

int SumCMax(int* ar, int n, int m, int column)
{
    int i;
    if(column == m) return SumRMax(ar, n, m);
    int sc1 = SumCMax(ar, n, m, column+1);
    for(i=0;i<n;i++) ar[i*m+column] = -ar[i*m+column];
    int sc2 = SumCMax(ar, n, m, column+1);
    if(sc1>sc2) return sc1;
    else return sc2;
}

int main()
{
    int m, n;
    ifstream fin("flip.in");
    fin>>n;
    fin>>m;
    int* ar = new int[n*m];
    int i,j;
    for(i=0;i<n;i++)for(j=0;j<m;j++) fin>>ar[i*m+j];
    int maxsum = SumCMax(ar, n, m, 0);
    ofstream fout("flip.out");
    fout<<maxsum;
    return 0;
}