Cod sursa(job #1290044)

Utilizator CarabasIancugogu11 CarabasIancu Data 10 decembrie 2014 19:14:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include<fstream>
#define INF 1000000
using namespace std;
int N,M;
int F[16][16],P[16],S[16];
int MAX,sum;
ifstream cin("flip.in");
ofstream cout("flip.out");
//contor pe biti
void ink() {
       int j=0;
         while(P[j]==1)
                      {
                      P[j]=0;
                      j++;
                      }
         P[j]=1;
}
int putere(int n,int m)
{
       int p=1;
       while(m--)
                p*=n;
     return p;
}
void flip(){
     int i,j,k,p;
     MAX=-INF;
     p=putere(2,M);
     for(k=0;k<p-1;k++)
     {
     sum=0;
         for(i=0;i<N;i++)
                     S[i]=0;
     for(i=0; i<N; i++)
     {
         for(j=0; j<M; j++)
                          {
                    if(P[j])
                         S[i]-=F[i][j];
                       else
                         S[i]+=F[i][j];
                         }
     if(S[i]>0)
             sum+=S[i];
     else
             sum-=S[i];
     }
      if(sum>MAX)
                MAX=sum;
     ink();
     }
}
int main(){
     int i,j;
     cin>>N>>M;
     for(i=0;i<N;i++)
          for(j=0;j<M;j++)
                     cin>>F[i][j];
     flip();
     cout<<MAX;
return 0;
}