Cod sursa(job #1104654)

Utilizator miha88Popescu Mihaela miha88 Data 10 februarie 2014 22:03:02
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int l,c,k,n,m,a[20][20],i,j,v[40],s,smax,b[20][20];
void citire()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            {f>>a[i][j]; smax+=a[i][j];}

}
int main()
{
    citire();
    int p=1<<(n+m);
    for(i=1;i<=p;i++)
    { j=n+m;
        while(v[j]==1)     {v[j]=0; j--;}  v[j]=1;
        for(l=1;l<=n;l++)   if(v[l]==0)   for(k=1;k<=m;k++)    b[l][k]=a[l][k];   else    for(k=1;k<=m;k++)   b[l][k]=-a[l][k];
        for(c=n+1;c<=m+n;c++)  if(v[c]==0)  for(k=1;k<=n;k++)  b[k][c-n]=b[k][c-n];   else    for(k=1;k<=n;k++)   b[k][c-n]=-b[k][c-n];
        s=0;
        for(l=1;l<=n;l++)  for( c=1;c<=m;c++)   s+=b[l][c];
        if(s>smax)
        smax=s;
    }
    g<<smax;
}