Cod sursa(job #307357)

Utilizator CrisstiTopana Cristian Crissti Data 24 aprilie 2009 00:30:09
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.55 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. }