Cod sursa(job #1504911)

Utilizator Y0da1NUME JMECHER Y0da1 Data 18 octombrie 2015 15:46:56
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[19][19], l, f[33], smax, m, n;
void test()
{
    int s=0,j,i,k,sum;
    for(i=1;i<=n;i++)
        {
            sum=0;
            for(j=1;j<=m;j++)
                if(f[j]==1)
                    sum-=v[i][j];
                else
                    sum+=v[i][j];
            if(sum<0)
                s=s-sum;
            else
                s=s+sum;
            if(s>smax)
                smax=s;
        }
}
void bk()
{
    int i=1;
    f[i]=0;
    while(i>0)
    {
        if(f[i]<2)
        {
            f[i]++;
            if(i==m)
            {
                test();
            }
            else
            {
                i++;
                f[i]=0;
            }
        }
        else i--;
    }
}
int main()
{
    int i, j, s=0;;
    ifstream g ("flip.in");
    ofstream h ("flip.out");
    g>>n>>m;        ///n- nr linii , m-nr coloanei
    l=m+n;          ///i-n, j-m
    for(i=1;i<=n;i++)       //citire si suma
    {
        s=0;
        for(j=1;j<=m;j++)
        {
            g>>v[i][j];
            s=s+v[i][j];
        }
        smax+=s;
    }
    bk();
    h<<smax;
    g.close();
    h.close();
    return 0;
}