Cod sursa(job #1088563)

Utilizator alex_HarryBabalau Alexandru alex_Harry Data 20 ianuarie 2014 17:00:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int N,M;
int Flip[20][20];
int Sign[20];
int MaxSum;
void Read()
{
    int i,j;
    f>>N>>M;
    for(i=1;i<=N;i++)
        for(j=1;j<=M;j++)
            f>>Flip[i][j];
}
void Solution()
{
    int i,j,TotalSum=0;
    for(j=1;j<=M;j++)
    {
        int sum=0;
        for(i=1;i<=N;i++)
            sum+=Flip[i][j]*Sign[i];
        if(sum<0)
            sum*=-1;
        TotalSum+=sum;
    }
    MaxSum=max(MaxSum,TotalSum);
}
void Back(int level)
{
    int i;
    for(i=-1;i<=1;i+=2)
    {
        Sign[level]=i;
        if(level==N)
            Solution();
        else
            Back(level+1);
    }
}
int main()
{
    Read();
    Back(1);
    g<<MaxSum<<"\n";
    return 0;
}