Cod sursa(job #880568)

Utilizator Daniel_BotBot Cristian Daniel Daniel_Bot Data 16 februarie 2013 22:21:54
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include<fstream>
using namespace std;

int const N=20;
int rowSum=-100001,maxSum=0;
int i,j,n,m;/*n stands for height and m for width */
int ** matrix, * switches;

void sum(int col)
{
    if(col==m+1)
    {
        for(i=0;i<n;i++)
        {
            rowSum=0;
            for(j=0;j<m;j++)
                rowSum+=(matrix[i][j]*switches[i]);
            rowSum = rowSum > -rowSum ? rowSum : -rowSum;
        }
        if(rowSum>maxSum)
            maxSum=rowSum;
    }
    else
    {
        switches[col]=-1;
        sum(col+1);
        switches[col]=1;
        sum(col+1);
    }
}

int main()
{
    ifstream in("flip.in");
    ofstream out("flip.out");
    in>>n>>m;
    matrix=new int*[n];
    switches=new int[n];
    for(i=0;i<n;i++)
    {
        matrix[i]=new int[m];
        for(j=0;j<m;j++)
            in>>matrix[i][j];
        switches[i]=1;
    }
    sum(1);
    out<<maxSum;
    for(i=0;i<n;i++)
        delete[] matrix;
    delete matrix;

}