Cod sursa(job #1498395)

Utilizator radu_uniculeu sunt radu radu_unicul Data 8 octombrie 2015 15:59:22
Problema Jocul Flip Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<stdio.h>
using namespace std;
int a[17][17], n, m, N;
int sMax;
int st[40];
int l[17];
int c[17];

FILE *fin,*fout;
void test()
{
    int s=0,j,i,sum;
    for(i=1; i<=n; i++)
    {
        sum=0;
        for(j=1; j<=m; j++)
            if(st[j]==1)
                sum-=a[i][j];
            else
                sum+=a[i][j];
        if(sum<0)
            s=s-sum;
        else
            s=s+sum;
        if(s>sMax)
            sMax=s;
    }

}



void bt(int k)
{
    for(int i=0; i<=1; i++)
    {
        st[k]=i;
        if(k==m)
            test();
        else
            bt(k+1);
    }
}

int main()
{
    fin=fopen("flip.in","r");
    fout=fopen("flip.out","w");
    fscanf(fin,"%d%d",&m,&n);
    int i, j;
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=m; j++)
        {
            fscanf(fin,"%d",&a[i][j]);
            sMax+=a[i][j];
            l[i]+=a[i][j];
        }
    }
    N=n+m;

    int r=1, s, k;
    bt(1);
    fprintf(fout,"%d",sMax);
    return 0;
}