Cod sursa(job #395287)

Utilizator lucian666Vasilut Lucian lucian666 Data 12 februarie 2010 18:48:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.46 kb
#include <stdio.h> 
#define MAXN 32 
 
int n,m,a[MAXN][MAXN],i,j,rez = 0xf0f0f0f0; 
 
 
inline int abs(int v) 
{ 
    
if ( v < 0) 
    
{ 
       
return -v; 
   
} 
   
return v; 
} 
 
 
void back() 
{ 
    
int k,st[MAXN],sum,psum; 
    
st[1] = -3; 
    
k = 1; 
    
while (k>0) 
    
{ 
       
if (st[k] < 1 && k <= n) 
       
{ 
            
st[k]+=2; 
            
if (k == n) 
           
{ 
               
sum = 0; 
               
for (i = 0 ; i < m;i++) 
               
{                     
psum = 0; 
                    
for (j=0; j < n ; j++) 
                    
{ 
                       
psum+=a[j][i]*st[j+1]; 
                  
}  
 
                   
psum = abs(psum); 
                    
sum+=psum; 
               
} 
               
if (sum > rez) 
                
{ 
                    
rez = sum; 
                
} 
           
} 
            
else
           
{ 
               
k++; 
               
st[k] = -3; 
          
}         
} 
        
else
     
{ 
           
k--; 
       
} 
  
} 
} 
 
 
int main() 
{ 
    
freopen("flip.in","r",stdin); 
    
freopen("flip.out","w",stdout); 
 
 
    
scanf("%d%d",&n,&m); 
    
for (i=0;i<n;i++) 
   
{ 
        
for (j=0;j<m;j++) 
       
{ 
           
scanf("%d",&a[i][j]); 
        
} 
    
} 
 
 
   
back(); 
 
 
    
printf("%d",rez);  
 
  
return 0; 
}