Cod sursa(job #973709)

Utilizator Tuddy18Tolciu Tudor Tuddy18 Data 15 iulie 2013 12:06:11
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <iostream>
#include <fstream>
#include <climits>
#include <math.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,a[20][20],maxim=-INT_MAX,i,j,lin[20],col[20],k,l,s,puterex,puterey,x,y;
int sum()
{
    int suma=0;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    {
        if(col[j]==lin[i])
            suma=suma+a[i][j];
        else
            suma=suma-a[i][j];
    }
    return suma;
}
int main()
{
    fin>>n>>m;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
        fin>>a[i][j];
    puterex=pow(2.0,double (n));
    puterey=pow(2.0,double (m));
    for(x=0;x<puterex;x++)
    {
        k=1;
        int aux=x;
        while(aux!=0)
        {
            lin[k++]=aux%2;
            aux=aux/2;
        }
        for(i=1;i<=17;i++)
            col[i]=0;
        for(y=0;y<puterey;y++)
        {
            l=1;
            int auy=y;
            while(auy!=0)
            {
                col[l++]=auy%2;
                auy=auy/2;
            }
            s=sum();
            if(maxim<s)
                maxim=s;
        }
    }
    fout<<maxim;
    return 0;}