Cod sursa(job #1348862)

Utilizator dragos_vecerdeaVecerdea Dragos dragos_vecerdea Data 19 februarie 2015 21:28:17
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
FILE *fin ,*fout;
int w[17][17] ,v[17][17];
int  pun[17];
int main()
{
    int n , m ,j ,z ,y ,i ,ci ,suma ,maxx=0 ,s;
    fin = fopen("flip.in" ,"r");
    fout = fopen("flip.out" ,"w");
    fscanf(fin  ,"%d%d" , &n ,&m);
    for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
    {
        fscanf(fin ,"%d" , &w[i][j]);
        v[i][j]=v[i][j-1]+w[i][j];
    }


    for(i=1;i<=1<<n;i++)
    {
        ci=i;
        for(j=1;j<=n;j++)
        {
            pun[j]=ci%2;
            if(pun[j]==1)suma+=v[j][m];
            else suma-=v[j][m];
            ci/=2;
        }
        suma=0;
        for(z=1;z<=m;z++)
            {
                s=0;
                for(y=1;y<=n;y++)
                {
                    if(pun[y]==0) s-=w[y][z];
                    else s+=w[y][z];
                }
                if(s<0)suma-=s;
                else suma+=s;
            }
        if(suma>maxx)maxx=suma;
    }
    fprintf(fout ,"%d" , maxx);
    return 0;
}