Cod sursa(job #111569)

Utilizator savimSerban Andrei Stan savim Data 30 noiembrie 2007 17:57:39
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
int main()
{
    int sum,max,i,j,k,n,m,p,q,s1,s2;
    int b[20][20],a[20][20];
    int back[20];
    
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    
    scanf("%d%d",&n,&m);
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
            scanf("%d",&a[i][j]);
    
    max=0;
    for (i=0; i<=(1<<n)-1; i++)
    {
        for (p=1; p<=n; p++)
            for (q=1; q<=m; q++)
                if (i&(1<<(p-1))) b[p][q]=a[p][q];
                else b[p][q]=-a[p][q];
                
        sum=0;
        for (q=1; q<=m; q++)
        {
            s1=0;s2=0;  
            for (p=1; p<=n; p++)
            {
                s1+=b[p][q];
                s2+=-b[p][q];    
            }
            if (s1>s2) sum+=s1;
            else sum+=s2;
        }
        if (sum>max) max=sum;
    }
    printf("%d\n",max);
    
    return 0;    
}