Cod sursa(job #307359)

Utilizator CrisstiTopana Cristian Crissti Data 24 aprilie 2009 00:34:16
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.38 kb
   1. #include <fstream>  
   2.   
   3. using namespace std;  
   4.   
   5. int x[20];  
   6. int m,n,a[20][20],i,j,mx;  
   7.   
   8. void calc()  
   9. {  
  10.     int sum=0,i,j,s1;  
  11.     for (i=1;i<=m;i++) {  
  12.         s1=0;  
  13.         for (j=1;j<=n;j++)  
  14.             if (x[j]>0)  
  15.                 s1=s1-a[i][j];  
  16.             else  
  17.                 s1=s1+a[i][j];  
  18.         if (s1>0)  
  19.             sum=sum+s1;  
  20.         else  
  21.             sum=sum-s1;       
  22.     }  
  23.     if (sum>mx)  
  24.         mx=sum;  
  25. }  
  26.   
  27. void back(int k)  
  28. {  
  29.     int i;  
  30.     for (i=0;i<2;i++)  
  31.     {     
  32.         x[k]=i;  
  33.         if (k<n)  
  34.             back(k+1);  
  35.         else  
  36.             calc();  
  37.     }  
  38. }  
  39.       
  40.   
  41. int main()  
  42. {  
  43.     ifstream f("flip.in");  
  44.     ofstream g("flip.out");  
  45.   
  46.     mx=0;     
  47.     f>>m>>n;  
  48.     for (i=1;i<=m;i++)  
  49.         for (j=1;j<=n;j++) {  
  50.             f>>a[i][j];  
  51.             mx+=a[i][j];  
  52.         }  
  53.           
  54.     back(1);      
  55.   
  56.     g<<mx;  
  57.       
  58.     f.close();  
  59.     g.close();  
  60.     return 0;  
  61. }