Cod sursa(job #1133768)

Utilizator dannydonydannydony dannydony Data 5 martie 2014 16:25:20
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("flip.in");
ofstream out("flip.out");
int m, n, a[16][16], maxi, s, linia, coloana;
bool primaData = true;

void axaY(int y)
{
    if(y < n)
    {
        s = 0;
        for(int i = 0; i < n; i++)
            s+=a[y][i]*-1;

        if(primaData){ maxi = s; primaData = false;}
        if(s > maxi){ maxi = s; linia = y;}

        axaY(y + 1);
    }
}

void axaX(int x)
{
    if(x < m)
    {
        s = 0;
        for(int i = 0; i < m; i++)
            s+=a[i][x]*-1;

        if(primaData){ maxi = s; primaData = false;}
        if(s > maxi){ maxi = s; coloana = x;}

        axaX(x + 1);
    }
}

int main()
{
    in>>m>>n;
    for(int i = 0; i < m; i++)
        for(int j = 0; j < n; j++) in>>a[i][j];

    axaY(0);
    primaData = true;
    axaX(0);


    for(int i = 0; i < n; i++) a[linia][i]*=-1;
    for(int i = 0; i < m; i++) if(i != linia) a[i][coloana]*=-1;

    s = 0;
    for(int i = 0; i < m; i++)
        for(int j = 0; j < n; j++) s+=a[i][j];

    out<<s;

}