Cod sursa(job #3033579)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 24 martie 2023 09:43:44
Problema Jocul Flip Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int a[20][20],i,j,n,m,k,elem,semn,x;
long long suma_lin,maxi,s,s1,suma_col;
int main()
{
    cin>>n>>m;maxi=LLONG_MIN;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
            cin>>a[i][j];
    for(k=0; k<=(1<<n)-1; k++)
    {
        x=k;
        elem=0;
        while(x!=0)
        {
            elem++;
            if(x%2==1)
                a[elem][0]=-1,a[0][elem]=-1;
            else
                a[elem][0]=1,a[0][elem]=1;
            x=x/2;

        }
         s=0;s1=0;
        for(i=1; i<=n; i++)
        {
               suma_lin=0;
            for(j=1; j<=m; j++)
                suma_lin+=a[i][0]*a[i][j]*a[0][j];
                if(suma_lin<0)
                    suma_lin=-suma_lin;
                s=s+suma_lin;

        }
          maxi=max(s,maxi);
          /*for(j=1;j<=m;j++)
          {
              suma_col=0;
              for(i=1;i<=n;i++)
                suma_col+=a[0][j]*a[i][j];
              if(suma_col<0)
                suma_col=-suma_col;
              s1=s1+suma_col;

          }
          maxi=max(s1,maxi);*/

    }
    cout<<maxi;
    return 0;
}
///int x, y, elem, n, z;
/*cin>>n;
   for(int i=1;i<=n;i++)
   {
       cin>>elem;
       x = x | (1<<elem);
   }

   cin>>n;
   for(int i=1;i<=n;i++)
   {
       cin>>elem;
       y = y | (1<<elem);
   }

   z=x&y;//intersectia
   elem=0;
   while(z!=0)
   {
       if((z&1)!=0)
            cout<<elem<<" ";

       z =(z>>1);
       elem++;
   }*/